Appium xpath属性文本

4
一个物理的智能手机设备 Android 4.4.4 正在使用 USB tether 连接,ADB 已启用。 尝试通过 Appium(Java)自动化测试这个设备上的混合型 Android 应用程序。
我们遇到了元素发现和访问行为方面的问题。
例如:
List<WebElement> buttons = driver.findElements(By.xpath("//android.widget.Button[@text='Something']"));

System.out.println("Found " + buttons.size() + " buttons.");

for ( WebElement el : buttons ) {
         System.out.println(el.getAttribute("text"));
}

发现了一个按钮。 发现的按钮明显具有包含“Something”的“text”属性。 然而,尝试打印“text”属性的内容时,结果为空;只有一个换行符。
此外,当调用.click();方法时,“clicked”元素并不是找到的元素。实际上,根据应用程序的UI xml,点击的元素甚至不是android.widget.Button。
对于这种意外行为,有什么想法吗?
提前感谢。

你确定该元素包含有数据的文本框?在安卓设备上打开UI Automator Viewer,手动选择该元素,并截图以展示该字段中有数据。 - HRVHackers
1个回答

0

你所说的是正在自动化一个混合应用程序,因此在执行任何操作(如sendkeys、点击或轻击)之前,必须切换上下文。

所以,请参考上下文切换教程并尝试。基本上,你正在使用原生上下文,而对于混合应用程序,context应该更改为webview


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接