选择框选项是否可见或隐藏?

时间:2016-04-14 12:53:16

标签: javascript html selenium drop-down-menu nightwatch.js

我准备用夜视仪/硒测试一个小的下拉选择框。 在测试时我经历过,选择框的选项似乎是可见的(对于测试运行器),即使它没有被点击。 我在HTML方面的技能很少,因此我不确定这是否是默认行为或我的测试有点破碎。

Testcode:

var urlToOptionsPage ='chrome-extension://dafanlbggefkfnbekjceijjhgcancpik/html/options.html';

module.exports = {

  '[Options Page UI] - project list': function(browser) {
    browser
      .url(urlToOptionsPage)
      .pause(500)
      .waitForElementVisible('#projects', 5000)
      .assert.value('#projects', 'BWK')
      //.click('#projects')
      .waitForElementVisible('#projects > option:nth-child(1)', 5000)
      .end()
  }
};

HTML:

<select name="projects" id="projects">
  <option value="BWK">BWK</option>
  <option value="DMG">DMG</option>
  <option value="ABC">ABC</option>
</select>

试验结果:

 ✔ Element <#projects> was visible after 52 milliseconds.
 ✔ Testing if value of <#projects> equals: "BWK".
 ✔ Element <#projects > option:nth-child(1)> was visible after 35 milliseconds.

1 个答案:

答案 0 :(得分:1)

在Chrome中它不是,但至少在firefox中是这样。所以我的回答是;它的浏览器依赖。您可以通过运行来测试:

// jQuery required
var optionsVisible = $('option').eq(0).is(':visible');
alert(optionsVisible); //alert if options are visible or not

或看看here