【问题标题】:How to find elements on android hybrid app using appium如何使用 appium 在 android 混合应用程序上查找元素
【发布时间】:2015-09-27 22:06:08
【问题描述】:

我正在尝试使用 Appium 测试混合应用程序。 我无法使用Appium 检查员或uiautomatorviewer 检查身份。它只显示一个应用程序类。 我尝试使用 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]"));
}

【问题讨论】:

  • 您的应用采用哪种技术开发?

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


【解决方案1】:

Web 应用程序通常没有我们期望使用的所有元素。相反,您可以做什么,使用类名/索引,过滤它并将其用作您的 xpath。

【讨论】:

    【解决方案2】:

    第 1 步 - 需要将控件从本机应用程序移动到 Web 视图(使用 webview 呈现页面)

    driver.context("web_view");
    

    第 2 步 - 通过 USB 将设备连接到系统,并使用 URL chrome://inspect ...打开浏览器。

    第 3 步 - 识别特定元素

    【讨论】:

      【解决方案3】:

      将视图更改为 网页视图。

      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 -->会切换上下文

      【讨论】:

        猜你喜欢
        • 2015-12-20
        • 2017-05-07
        • 2021-03-19
        • 2014-10-15
        • 2019-12-18
        • 1970-01-01
        • 1970-01-01
        • 2019-07-04
        • 1970-01-01
        相关资源
        最近更新 更多