使用href对webview进行Expresso测试

时间:2017-08-29 08:50:33

标签: android webview android-webview android-instrumentation

我正在尝试在Android应用上编写一些检测测试,其webview内容包含href个标记。

以下是网页视图的摘要。

<table width="90%" class="welcome">
    <tr>
        <td><a href="/demo/TransactionFree"><img
                src="/demo/pen.png" width="80" /><br /></a><b> Text <br></td>

        <td><a href="/demo/Transaction"><img
                src="/portaldemo/pen.png" width="80" /><br /></a>Text Twor</b><br> <br></td>

</table>

我想点击第一项。所以我在Expresso中编写了以下测试。

onWebView().withElement(findElement(Locator.CSS_SELECTOR, "a[href='*TransactionFree']")).perform(DriverAtoms.webClick());

它正在开发使用Android的新手机,但在三星S3这样的低端手机上失败了。它找不到元素。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

最后弄明白了怎么做。在Chrome浏览器中打开html页面 - &gt;右键单击要单击的特定元素 - &gt;检查元素 - &gt;复制XPath

会得到类似/html/body/div/div/div[2]/div/table[1]/tbody/tr/td[1]/a/img

的内容

只需将expresso命令更改为 onWebView().withElement(findElement(Locator.XPATH, "/html/body/div/div/div[2]/div/table[1]/tbody/tr/td[1]/a/img")).perform(webClick());

应点击该特定元素。