Использование findElementById ("elementID") с appium для нативного приложения для Android.Ошибка: «css-селектор стратегии локатора» не поддерживается » - PullRequest
0 голосов
/ 01 июля 2019
I am using Appium installed over npm (version 1.13.0), Selenium (3.8.1), Appium client for java (4.1.2).

Используя UIAutomationViewer, я могу найти идентификаторы элементов, которые я хочу щелкнуть. Но когда я запускаю код вместо идентификаторов, селен пытается найти их с помощью css.

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, 
"PixelTest");
capabilities.setCapability("platformName","Android");
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, 
"UiAutomator1");
capabilities.setCapability(MobileCapabilityType.NO_RESET, true);
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");

driver = new AndroidDriver<AndroidElement>(new URL(url), capabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

driver.findElementById("digit_9").click();
driver.findElementById("digit_6").click();

driver.findElementById("pad_operator").click();

driver.findElementById("digit_1").click();
driver.findElementById("digit_0").click();  

driver.findElementById("eq").click();

У меня ошибка: «org.openqa.selenium.InvalidSelectorException: Стратегия локатора« css selector »не поддерживается для этого сеанса». Почему это происходит?

1 Ответ

2 голосов
/ 02 июля 2019

Вы используете несовместимую комбинацию клиентов Selenium Java и Appium Java .

Изучая зависимости для Appium 4.1.2 , кажется, что вам нужно Selenium 2.53.1 , другие версии могут не работать из-за JAR Hell .

enter image description here

В основном вам нужно иметь только Appium Java в вашем пути к классам проекта, если вы используете систему сборки, такую ​​как Maven или Gradle - другие jar-файлы будет решаться с помощью механизма Transitive Dependencies .

Я бы также порекомендовал перейти на Appium Client 7.0.0 или любую последнюю версию , выпущенную .

Проверьте Appium - Примеры кода - Java для примеров проектов, которые вы можете использовать в качестве основы.

...