2016-04-07 2 views
1

Ich möchte mit NightwatchJS behaupten, wenn alle Elemente eines gegebenen Klassennamens sichtbar sind oder nicht. So etwas in diese Richtung:Wie man über eine Liste von Elementen in NightwatchJS geltend macht

module.exports = { 
    //some tests 

    'page changes to English': (browser) => { 
     browser.click('label[for="switch-language"]').pause(1000); 
     browser.elements('css selector', '.fr', results => { 
      for (let i = 0; i < results; ++i) { 
       browser.expect.element(results[i]).to.be.visible; 
      } 
     }); 
    } 
}; 

Aber nach Beendigung des Tests, erhalte ich als Ausgabe, dass No assertions ran.

Antwort

2

Dank Juhi Saxena Antwort auf die following thread, ich in der Lage war, die Antwort auf mein Problem herauszufinden. Hier ist mein Code für jeden, der die gleiche Schwierigkeit haben könnte:

module.exports = { 
    //some tests 

    'page changes to English': browser => { 
     browser.click('label[for="switch-language"]').pause(1000); 
     browser.elements('css selector','.fr', areDisplayed.bind(null, browser, false)); 
     browser.elements('css selector','.en', areDisplayed.bind(null, browser, true)); 
    } 
}; 

function areDisplayed(browser, expected, elements) { 
    elements.value.forEach(element => { 
     browser.elementIdDisplayed(element.ELEMENT, result => { 
      browser.assert.equal(result.value, expected); 
     }); 
    }); 
} 
Verwandte Themen