javascript - tutorial - protractor wait




Transportador, con isDisplayed() Obtengo NoSuchElementError: No se encontró ningún elemento utilizando el localizador (2)

Este error es parte del comportamiento de WebDriver. Para tales casos, deberías usar isPresent() o isElementPresent

En el transportador 2.0, estoy comprobando en expect() si se muestra un elemento. Espero algo falso, pero lo extraño es que obtengo el siguiente error:

NoSuchElementError: no se encontró ningún elemento utilizando el localizador: By.id ("userForm")

Mi código es:

describe('closeModal', function() {
    it('should close the alert that appears after registration.', function(){
        element(by.id('closeAlertModalButton')).click();
        expect(element(by.id('userForm')).isDisplayed()).toBeFalsy();
    });
});

Entiendo que recibo ese error porque el elemento ya no está en la página (es lo que quiero confirmar), pero ¿no debería obtener un error falso y no?


Si el elemento visible hace A si no es visible, B, ignora la excepción si no se encuentra el elemento:

element.isDisplayed().then(function(visible){
    if (visible) {
        // do A when element visible
    }else{
        // do B when element not visible 
    }
}, function () {
    //suppress exception if element is not found on page
});






angularjs-e2e