J'ai essayé d'utiliser l'extrait de code ci-dessous pour vérifier si l'élément que je cherche existe, mais tout ce que je reçois est "échoué: Aucun élément trouvé à l'aide du localisateur: par (sélecteur CSS, .icon-annulez)" . Ce que je veux que le programme fasse, c'est exécuter b ()
3 Réponses :
isdisplayed () code> échouerait si un élément n'existe pas réellement dans l'arbre DOM em>. Vous avez besoin du
Ispresent () Code>
Méthode à la place: $('.icon-cancel').isPresent().then(function(result) {
if ( result ) {
a();
} else {
b();
}
});
Une possibilité est que si l'élément est chargé de manière dynamique, l'élément peut ne pas avoir été chargé au moment de l'exécution de votre test. Donc, vous pouvez attendre quelques secondes pour que l'élément soit disponible.
En utilisant ASYNC / Await, vous pouvez maintenant facilement à cela sans la chaîne de promesse:
it('should something something', async () => { const element = element(by.css('.icon-cancel')); if(await element.isPresent()) { // Element is found } else { // Element is not found } });