cucumber-js y Chai cómo esperar si el elemento con un selector dado existe en DOM
Tengo un problema con cucumberjs. No puedo encontrar una manera de garantizar que el elemento con un selector dado se presente en DOM. Estoy usando cucumberjs con Chai.https://github.com/cucumber/cucumber-js isPresent devuelve el objeto, sin importar si el elemento existe o no. Entonces, la pregunta es cómo verificar si el elemento está presente en DOM.
Editaré la pregunta para compartir una lección aprendida. Leí la documentación también quiero agradecer a Nathan Thompson. isPresent () devuelve una promesa que resolverá si el elemento está presente en la página.
http://angular.github.io/protractor/#/api?view=Protractor.prototype.isElementPresent
Los ejemplos de código son un poco engañosos. Entonces, si desea esperar que exista un elemento con un selector dado en DOM, debe usar algo como esto:
element(by.id('someId')).isPresent().then(function(isElementVisible) {
expect(isElementVisible).to.be.true;
});
O use chai con promesas.
expect(element.isPresent()).to.eventually.be.false
Sin embargo, la palabra "eventualmente" suena desagradable. Queremos asegurarnos de no estar seguros. :)
aquí Puede ver el artículo sobre esta pregunta en mi blog personal.