[英]Unable to find elements using latest Appium in Android 7 Emulator
我已经编写了用于Android的测试自动化脚本,该脚本使用Selenium和Appium以及Java作为编码语言。 这些脚本在Android 6 Emulator上运行良好。 但是,在Android 7模拟器上,驱动程序会启动应用程序,但无法在应用程序上找到任何元素。
样例代码:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("noReset", "true");
capabilities.setCapability("deviceName", "Nexus_5_API_24_Automation");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("app","D:\\MyProject\\apk\\test-app-6.31.11.apk");
capabilities.setCapability("newCommandTimeout", 0);
try {
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
} catch (Exception e) {
Assert.fail("The app launched failed.");
}
CommonUtils.waitInSeconds(10); // Custom method with Thread.sleep() method to wait for 10 secs
driver.findElement(By.xpath("//android.widget.TextView[@text='Device']")).click();
driver.closeApp();
driver.quit();
其中android.widget.TextView是类名,“ text”属性包含“ Device”作为文本。
当我运行它时,它在driver.findElement步骤失败,并引发NoSuchElementException。
带有文本“设备”的元素是一个标签名称,是可见的,并在Android 6仿真器上单击。
对于Android 6,我使用Appium 1.4.13 GUI版本。
对于Android 7,我使用Appium版本1.6.3非UI版本。
Appium客户端库:java-client-4.1.2.jar
请注意:我无法使用设备,因为它们当前在我的组织中不可用。
对于导致此问题的原因,我一无所知。 任何帮助都感激不尽。 提前致谢!
启动Appium GUI检查器,并检查该元素是否具有文本属性。 您可以通过在GUI中提供仿真器名称并在CLI中启动Appium 1.6.3来将Appium 1.5 GUI与检查器一起使用(因此,启动appium 1.6.3,打开appium GUI 1.5并单击检查器),如果您提供了app和其他路径,则可以使用设置中的“人员”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.