【问题标题】:Espresso: How to select element on webview using textEspresso:如何使用文本在 webview 上选择元素
【发布时间】:2016-02-04 23:16:27
【问题描述】:

我正在使用 espresso 编写一些 UI 测试用例。 我的应用程序包含一个 webview,我可以使用以下代码在 webview 内的按钮上执行 webClick,该代码使用元素 ID 来查找元素:

    onWebView()
            .withElement(findElement(Locator.ID, "expandbtn"))
            .perform(webClick());

假设 webview 有带有文本“扩展”的按钮。 是否可以使用按钮上的文本而不是定位器 ID 来执行 webClick?

【问题讨论】:

    标签: android android-espresso


    【解决方案1】:

    是的,有一种方法可以使用按钮上的文本单击 Web 元素。您可以尝试使用 Xpath 表达式而不是 id 来查找元素。

    onWebView().withElement(findElement(Locator.XPATH, xpath_expression).perform(webClick());
    

    并且 xpath_expression 是基于您的 html 源的元素的 xpath。

    "//button[contains(text(),'Expand')]"
    

    例如,如果按钮的文本在子 span 元素内:

    "//button[@type='%your button type%']/span[text()='Expand']/.."
    

    但请记住,xpath 是一种较慢的查找项目的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2016-02-10
      • 2020-05-08
      • 2020-07-14
      相关资源
      最近更新 更多