J'ai actuellement le code suivant dans un de mes spécifications de test pour Protractor:Protractor Timing Questions
.then(function() {
return button.click();
})
.then(function() {
return element(otherButton).isDisplayed();
})
.then(function(otherButtonIsPresent) {
if(otherButtonIsPresent) {
return browser.wait(EC.elementToBeClickable(element(otherButton)), getWaitTime())
.then(function() {
element(otherButton).click();
return element(continueButton).isPresent();
})
}
})
Lorsque j'utilise Chrome pour déboguer en utilisant les --debug-brk
et --inspect
drapeaux, je suis en mesure de transmettre ces contrôles et curriculum vitae comme d'habitude. Lorsque je lance le même test sans les drapeaux, le test échoue et se bloque pendant la recherche otherButton
avant d'essayer de cliquer dessus. Je me demande si c'est parce que pendant le débogage, je définis les points d'arrêt et j'attends que les boutons apparaissent sur l'écran avant d'essayer de cliquer dessus.
Je dois m'assurer que cet élément est visible sur la page avant d'essayer de cliquer dessus et je me demandais s'il y avait un autre moyen d'y parvenir?
Merci
Essayez d'utiliser browser.wait() avec ExpectedConditions pour faire WebDriver à jusqu'à ce qu'une condition spécifique. consulter http://www.protractortest.org/#/api?view=ProtractorExpectedConditions. –