2016-04-14 4 views
1

Ich bin im Begriff, eine kleine Dropdown-Auswahlbox mit Nightwatch/Selen zu testen. Beim Testen habe ich festgestellt, dass die Optionen der Auswahlbox sichtbar zu sein scheinen (für den Test-Runner), obwohl sie nicht angeklickt wurde. Ich habe sehr wenige Fähigkeiten in HTML, daher bin ich mir nicht sicher, ob das Standardverhalten ist oder mein Test ist irgendwie kaputt.Ist eine Auswahlbox sichtbar oder ausgeblendet?

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> 

Testergebnis:

✔ 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. 

Antwort

1

In Chrom ist es nicht, In Firefox ist es zumindest so. Also meine Antwort wäre; sein Browser abhängig. Sie können Lauftest:

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

oder einen Blick here nehmen.

+0

danke für die schnelle antwort – xetra11

+0

@ xetra11 du bist sehr willkommen! –

Verwandte Themen