android Espresso:如何使用文本在webview上选择元素

yzxexxkh  于 2022-12-09  发布在  Android
关注(0)|答案(1)|浏览(130)

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

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

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

c2e8gylq

c2e8gylq1#

是的,有一种方法可以使用按钮上的文本来点击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是查找项的较慢方法之一。

相关问题