I am using Appium installed over npm (version 1.13.0), Selenium (3.8.1), Appium client for java (4.1.2).
使用UIAutomationViewer,我可以找到我要单击的元素的ID。但是,当我运行代码时,Selenium尝试使用css来替换od ID。
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选择器'”。为什么会这样?
答案 0 :(得分:2)
您正在使用不兼容的Selenium Java和Appium Java客户组合。
调查dependencies for Appium 4.1.2似乎需要Selenium 2.53.1,由于JAR Hell,其他版本可能无法正常工作。
基本上,如果您使用的是Maven或Gradle之类的构建系统,则项目类路径中仅需要 Appium Java -其他jar文件将被解析通过Transitive Dependencies机制。
我还建议升级到Appium Client 7.0.0或任何最新版本released。
查看Appium - Code Examples - Java中可以用作示例项目的示例项目。