Disons que j'ai un bouton et un élément div sur une page.Test de changement de page asynchrone avec l'interne
<button /><div>old text</div>
En cliquant sur le bouton, javascript modifier de manière asynchrone le texte de la div (à savoir après l'appel ajax). Comment puis-je le tester avec stagiaire?
Cela ne fonctionne pas:
function testButtonClick() {
return command
.findByTagName('button')
.click()
.end()
.findByTagName('div')
.getVisibleText()
.then(function(text) { assert.strictEqual(text,'new text')}); //errror, text is 'old text'
}
Si j'ajoute .sleep(5000)
après .end()
, il fonctionne bien (parce que ma demande async est généralement fait en 5 secondes). Mais je ne veux pas attendre si longtemps, car l'async est généralement terminé beaucoup plus tôt. Mais en utilisant le sommeil avec une valeur de temps plus faible, je risque qu'il sera testé avant que la demande soit terminée.
Y a-t-il un meilleur moyen?