iframe中的android espresso webview访问元素

时间:2018-02-06 06:51:06

标签: android iframe android-espresso

这次我尝试使用浓缩咖啡来测试我的应用。 我使用webview打开网址并检查下面的HTML代码 我面临的问题是我无法访问iframe中的元素。

<html>
  <head></head>
  <body>
    <iframe id="mainFrame" src="Address/Default.aspx" scrolling="no" 
    style="border: 0px; width: 100%; height: 432px; position: absolute;">
      <html>
        <head></head>
        <body>
          <button onclick = "one function">
        </body>
      </html>
    </iframe>
  </body>
</html>

我复制了 / html / body / button 和代码

的XPTH
onWebView().withElement(findElement(Locator.XPATH, "/html/body/button")).perform(webClick());

但是,我得到 Atom评估返回null!而且我无法获取元素。 espresso可以在iframe中获取元素吗?我可以在iframe中获取元素。

1 个答案:

答案 0 :(得分:0)

  

由于按钮位于iframe内,因此我们需要使用.inWindow(selectFrameByIdOrName("mainFrame"))

onWebView()
    .inWindow(selectFrameByIdOrName("mainFrame"))
    .withElement(findElement(Locator.XPATH, "/html/body/button")).perform(webClick());

希望有帮助。