Appium1.7.2下无法findelement的解决方案

时间:2024-05-22 09:40:06

环境:appium desktop1.4.0 appium 1.7.2 Java-client 4.1.2 selenium-java-2.53.1 jdk1.8.0

1)我在如下的ui自动化测试操作步骤中碰到无法定位element的问题.

进入如下的界面:

Appium1.7.2下无法findelement的解决方案

什么都不输入,弹出如下的消息框:

Appium1.7.2下无法findelement的解决方案

点击弹出框上的"确定"按钮,弹出框消失,这时再调用findelementbyid方法,获取登录界面上的元素,总是无法定位。

log如下:

org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 44 milliseconds


2)如果进入前面的登录界面,不点登录按钮,而是直接调用findelementbyid方法获取客户号,密码编辑框进行自动输入,是可以定位到这两个编辑框控件,这个页面上其它element也是可以找到。

经过分析,最终解决问题如下, 在 driver的初始化终设置,automationName的属性值为"uiautomator2"

capabilities.setCapability("automationName", "uiautomator2");

上面的问题得到解决。

问题原因appium 1.7.0以上支持uiautomator2, 对 uiautomator可能会有版本配合问题.