我正在尝试使用Appium测试混合应用程序。
我无法使用Appium
检查员或uiautomatorviewer
检查ID。它只显示一个app类。
我尝试使用Web应用程序检查id元素,但它不起作用。
所以我的问题是找到/获取应用元素的另一种方式是什么?
编辑: xpath没有帮助。这是我的代码:
public void findButton() {
driver.findElement(By.xpath("//html/body/div[5]/div/div/div[1]/div[1]/div[3]/div[1]/div[2]/div[3]/div[2]"));
}
答案 0 :(得分:1)
Web应用程序通常没有我们期望使用的所有元素。相反,您可以使用类名/索引,过滤它并将其用作xpath。
答案 1 :(得分:1)
我没有得到你的问题,但这对你有帮助 1:如果您正在寻找如何检查元素以进行开发,请参阅此link。 2:如果你能够找到元素,那么首先你必须切换到WEBVIEW的框架
答案 2 :(得分:0)
步骤1-需要将控件从Native应用程序移动到Web View(使用webview呈现页面)
driver.context("web_view");
步骤2 - 通过USB将设备连接到系统,并使用URL chrome:// inspect ....打开浏览器。
第3步 - 确定特定元素
答案 3 :(得分:0)
将视图更改为 网页视图。
Set contextNames = driver.getContextHandles();
for (String contextName : contextNames) {
System.out.println(contextNames);
}
driver.context("WEBVIEW_com.xxx.yyy.zzzz");
它会将上下文打印为Native,WEBVIEW_com.xxx.yyy.zzzz
,然后是你
必须将上下文更改为WEBVIEW才能自动化混合应用程序。
eg: driver.context("WEBVIEW_com.xxx.yyy.zzzz");
driver.context - >它将切换上下文