【发布时间】:2019-07-01 15:02:22
【问题描述】:
I am using Appium installed over npm (version 1.13.0), Selenium (3.8.1), Appium client for java (4.1.2).
使用 UIAutomationViewer 我可以找到我想要点击的元素的 ID。但是当我运行代码时,使用 od ID,selenium 正在尝试使用 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: Locator Strategy 'css selector' is not supported for this session”。为什么会这样?
【问题讨论】:
-
我的第一个猜测是那些看起来不像完整的 id。请将相关页面的 uiautomator 屏幕截图添加到您的原始帖子中。另外,你最初如何声明驱动程序?
-
protected AndroidDriver<AndroidElement> driver;这是驱动程序的声明方式。如果我把完整的 id 像driver.findElementById("com.android.calculator2:id/digit_9").click();放在一起没关系,它会返回关于 css 选择器的相同错误。
标签: java android android-ndk appium native