如何使用appium在Android混合应用程序上找到元素

时间:2015-07-09 13:31:59

标签: selenium-webdriver automated-tests ui-automation appium

我正在尝试使用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]"));
}

4 个答案:

答案 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 - >它将切换上下文