Pregunta

Estoy usando el Transportador para la prueba de AngularJS

Quiero comprobar que al final de la prueba no uncaught excepciones y se produjo impreso en el navegador de la consola.

Hay una manera sencilla de hacerlo?

¿Fue útil?

Solución

Si está utilizando el transportador con jazmín, use el siguiente código:

afterEach(function() {
    browser.manage().logs().get('browser').then(function(browserLog) {
        expect(browserLog.length).toEqual(0);
    });
});

Esto pasará el caso de prueba si no hay errores de consola.Si hay errores de consola, la prueba fallará.

Las instrucciones sobre cómo acceder al contenido de la consola del navegador se pueden encontrar en la ¿Cómo puedo obtener la sección de consola de las preguntas frecuentes?

Otros consejos

protractor 2.0.0 ha introducido un nuevo complemento de generación de generación específicamente para la tarea.

Agregar lo siguiente a la configuración del transportador:

plugins: [{
    path: '/path/to/node_modules/protractor/plugins/console/index.js',
    failOnWarning: true,
    failOnError: true
}],

Con un poco de esfuerzo podemos modificar el aceptado respuesta a trabajar con Cucumber.js en caso de que usted no está utilizando el Transportador de ángulos con el valor predeterminado marco de pruebas.

this.After(function(callback) {
    browser.manage().logs().get('browser').then(function(browserLog) {
        if (browserLog.length !== 0) {
            var failMessage = "There was output in the browser console:" +
                              browserLog.map(JSON.stringify).join(";\n");
            callback.fail(failMessage);
        }
        else {
            callback();
        }
    });
});

Usted querrá echa un vistazo a la documentación Después de ganchos, que son el Pepino es el equivalente a Jazmín afterEach.

Cómo se indica @velochy Ahora hay un paquete propio para el módulo: https://www.npmjs.com/package/protractor-console-plugin

Puede usarlo en su protractor.conf:

  plugins: [{
    package: 'protractor-console-plugin',
    failOnWarning: {Boolean}                (Default - false),
    failOnError: {Boolean}                  (Default - true),
    logWarnings: {Boolean}                  (Default - true),
    exclude: {Array of strings and regex}   (Default - [])
  }]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top