为什么夜班人不能找到我的dom?

时间:2017-01-09 11:22:49

标签: selenium nightwatch.js

我正在使用nightwatch进行集成测试,但未能找到我的dom元素之一。以下是我的HTML代码:

<body>
    <div style="position: absolute; overflow: hidden; height: 24px;">
        <div class="GPNWDJGEV" style="width: 24px; height: 24px;">
          </div>
        <div id="gwt-debug-MenuItem" style="width:100px;height:100px;">

        </div>
    </div>
</body>

以下是夜班代码。

module.exports = {
  'Connection Test' : function (browser) {
    browser
      .url('file:///tmp/test.html')
      .waitForElementVisible("#gwt-debug-MenuItem", 5000)
      .pause(1000)
      .end();
  }
};

运行此测试用例时出现以下错误:

✖ Timed out while waiting for element <#gwt-debug-MenuItem> to be visible for 5000 milliseconds.  - expected "visible" but got: "not visible"

我能够找到其他dom元素但未能找到这个#gwt-debug-MenuItem。这段代码有什么问题?

1 个答案:

答案 0 :(得分:6)

看起来元素不是真的可见。请尝试使用waitForElementPresent

等待其存在
module.exports = {
  'Connection Test' : function (browser) {
    browser
      .url('file:///tmp/test.html')
      .waitForElementPresent("#gwt-debug-MenuItem", 5000)
      .pause(1000)
      .end();
  }
};