J'ai eu du mal à utiliser Protractor. J'ai un état vraiment étrange de routeur ui où il est difficile de se démarquer d'autres éléments pour commencer à travailler avec la page. Existe-t-il un moyen de dire au rapporteur d'attendre qu'un élément apparaisse enfin dans le DOM? Non visible/affiché, mais réellement créé? Je continue d'essayer d'utiliser attendre pour l'élément, mais il n'est clairement pas disponible pour être sélectionné.
browser.driver.wait(function () {
return elem.isDisplayed();
});
Vous devriez pouvoir utiliser browser.wait
avec le presenceOf
ExpectedCondition :
var until = protractor.ExpectedConditions;
browser.wait(until.presenceOf(elem), 5000, 'Element taking too long to appear in the DOM');
Le rapporteur a inclus ExpectedCondition pour l'attente explicite, ce qui vous permet d'attendre l'élément pendant une certaine période. Vous devriez pouvoir faire ce qui suit:
var EC = protractor.ExpectedConditions;
browser.driver.wait(function () {
browser.wait(EC.visibilityOf(elem), 10000);
return elem;
});