2016-04-14 55 views
1

我即将测试与nightwatch/selenium一点下拉选择框。 虽然测试我经历了选择框的选项似乎是可见的(对于测试运行者),即使它没有被点击。 我在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

在Chrome实在不行,但在Firefox中至少是这样。所以我的答案是;它的浏览器依赖。您可以运行测试:

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

或看看here

+0

感谢您的快速回答 – xetra11

+0

@ xetra11非常欢迎您! –