代码之家  ›  专栏  ›  技术社区  ›  xetra11

选择框选项是可见还是隐藏?

  •  1
  • xetra11  · 技术社区  · 8 年前

    我将用夜视/硒测试一个小下拉选择框。 在测试过程中,我发现选择框的选项似乎是可见的(对于测试运行者来说),即使它没有被点击。 我在HTML方面的技能很少,因此我不确定这是默认行为还是我的测试有点失败。

    测试代码:

    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 回复  |  直到 8 年前
        1
  •  1
  •   Alexander Holman    8 年前

    在chrome中不是这样,但在firefox中至少是这样;它依赖于浏览器。您可以通过运行以下命令进行测试:

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

    或者看看 here .