Не удалось щелкнуть элемент с помощью By.name локатор в Appium с использованием JavaScript

#javascript #selenium-webdriver #appium #appium-desktop

Вопрос:

Я использую Appium для автоматизации настольных приложений в Windows 10. Язык программирования, на который я ссылаюсь, — JavaScript. Я пытаюсь щелкнуть элемент пользовательского интерфейса в приложении с помощью By.name. Но я сталкиваюсь с ошибками. Код, который я написал, выглядит следующим образом :

 “use strict”;
var wd = require(“selenium-webdriver”),
By = wd.By,
mobileBy = wd.mobileBy,
until = wd.until;

//Setup desirable capabilities :
var desiredCaps = {
platformName: “Windows”,
deviceName: “windowsPC”,
app:
“C:Program Filesxxxbinxxx.exe”,
browserName: “”
};

async function testEribank() {
let driver = await new wd.Builder()
.usingServer(“http://127.0.0.1:4723”)
.withCapabilities(desiredCaps)
.build();

var byName = await driver.findElement(By.name(“File”));
byName.click();

await Promise.reject(new Error(“test”));
}

testEribank();
 

Ошибка, которую я получаю, это :

(узел:57804) Необработанный Promiserejection Предупреждение: WebDriverError: Невыполненная команда: стратегия локатора селектора css не поддерживается в parseHttpResponse (d:Appium_Javascriptnode_modulesselenium-webdriverlibhttp.js:659:11) у Исполнителя.выполнить (d:Appium_Javascriptnode_modulesselenium-webdriverlibhttp.js:568:28) в процессах и проектах (внутренний/процесс/task_queues.js:95:5) в асинхронном WebDriver.execute (d:Appium_Javascriptnode_modulesselenium-webdriverlibwebdriver.js:731:17) в асинхронном тестерибанке (d:Appium_JavascriptappiumJavascriptProjecttest_rms.js:20:16) (Используйте node —trace-предупреждения … чтобы показать, где было создано предупреждение) (узел:57804) Предупреждение о необработанном обещании: Необработанное обещание отклонено. Эта ошибка возникла либо в результате включения асинхронной функции без блока catch, либо в результате отклонения обещания, которое не было обработано с помощью .catch(). Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI —необработанные-отклонения=строгие (см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (идентификатор отклонения: 1)

Есть ли какое-либо решение для выбора элемента по имени?

Если я использую Python вместо JavaScript, то я могу щелкнуть этот элемент, используя имя локатора в качестве драйвера.find_element_by_name («Файл»). нажмите (), но по требованию используется JavaScript. Есть какое-нибудь решение ?