¿Cómo puedo ver la consola.registro de salida en un angularjs transportador de jazmín de la prueba? A partir de ahora, el navegador se cierra por sí misma muy rápidamente.

más info – estoy trabajando con el angularjs tutorial, paso 8. Estoy tratando de cambiar el e2e prueba para transportador de ángulos. El transportador archivo de configuración que estoy usando está basado en el porcentaje de appdata%\npm\node_modules\protractor\referenceConf.js. En spec js archivos que hace referencia el archivo de configuración, he instancias de la consola.registro. Sin embargo, durante la ejecución del transportador e2e de la prueba, el sitio web se abre en chrome, veo que las cosas sucedan en el navegador, el navegador se cierra antes de que pueda examinar cualquier consola.registro de salida. Yo creo que es necesario para mantener el chrome abierto de alguna manera. Cómo?

  • Tal vez no entiendo tu pregunta, pero si establece una consola.log() en sus especificaciones, usted debe ver esto en la terminal
  • el OP dice que tiene la consola.log() de salida, pero el navegador se cierra demasiado rápido para él para verlo.
InformationsquelleAutor Bill Swartz | 2014-02-27

7 Comentarios

  1. 38

    Uso browser.manage().logs().get('browser')

    browser.manage().logs().get('browser').then(function(browserLogs) {
       //browserLogs is an array of objects with level and message fields
       browserLogs.forEach(function(log){
          if (log.level.value > 900) { //it's an error log
            console.log('Browser console error!');
            console.log(log.message);
          }
       });
    });
    • Como este lee el estado actual del navegador de registros, es mejor en un afterEach() o post-test bloque
    • ¿Dónde debo agregar que el bloque de código? En el archivo spec o la config? Más detalles sería de ayuda.
    • Esto no parece funcionar con la última transportador v3 & firefox
    • La parte que falta de esta respuesta, para mí, fue que tuve que agregar un loggingPrefs sección del archivo de configuración por github.com/angular/protractor/blob/master/docs/…, por ejemplo, las capacidades de: { loggingPrefs: { navegador: «TODOS» } },
  2. 8

    Un malentendido general es console.log de registro de las cosas en su navegador. Que es incorrecta. Al ejecutar las pruebas, junto con los resultados de pruebas que se debe ver la console.log() valores también en el terminal. Navegador de la consola es completamente diferente de esta.

    Un ejemplo general:

    it('get name as John', function(){
            element(by.id('name')).getText().then(function(value){
            console.log(value);
        })
    });

    Resultados en la Terminal:

    John
    get name as John - pass

    Espero que ayude.

  3. 5

    Con el fin de mantener la ventana del navegador abierta, usted debe tratar de ejecutar Transportador en el modo de depuración:

    $ <route-to-protractor> debug <route-to-conf-file>

    A continuación, en el archivo spec añadir esta línea donde desea que la ejecución de stop:

    browser.debugger();

    En el Transportador depurador de la consola, puede paso a paso por las paradas escribiendo c o cont.

    Más info aquí: https://github.com/angular/protractor/blob/master/docs/debugging.md

    Ahora, con el fin de conseguir la consola de los contenidos que usted puede consultar cómo hacerlo en el Transportador de preguntas frecuentes:
    https://github.com/angular/protractor/blob/master/docs/faq.md#how-can-i-get-hold-of-the-browsers-console

    Algo como:

    browser.manage().logs().get('browser').then(function(browserLog) {
      console.log('log: ' + require('util').inspect(browserLog));
    })
    • Pero eso no captura los datos de la consola.registro debido a que por defecto chrome se establece a nivel de ADVERTENCIA así que, ¿cómo puede alguien saque una prueba con el webdriver o el navegador configurado para que el TODO nivel de registro?
    • Me lo imaginé. Usted necesita cambiar su navegador capacidades loggingPrefs: { navegador: ‘TODOS’ },
  4. 2

    Usted desea, también puede cambiar el nivel de registro para ver otros tipos de salidas de la consola.

    Ver mi propuesta de actualización del transportador de preguntas frecuentes para ello aquí

  5. 2

    Una opción sencilla es utilizar:

    browser.pause(); transportador/api/navegador.pausa

    por ejemplo:

    it('should .. test stuff', function() {
        browser.pause(); //--->the automation will pause here - follow the instructions in your terminal to continue 
        //--->your broken testing magic here...
    });

    Lugar que la llamada al método como el primer elemento en la especificación cuerpo donde usted necesita para ver los navegadores de la consola.

    Después de que el navegador hace una pausa tendrás el control de la automatización. Usted puede interactuar con el navegador como de costumbre, la inspección de elementos en diferentes estados, la comprobación de los navegadores de la consola, etc.

    Continuar las pruebas introduciendo c para continuar en su terminal – habrá un mensaje con las instrucciones de la espera de su entrada.

  6. 1

    Usted siempre puede simplemente reemplazar la consola.registro en la prueba 🙂

    logMessages = [];
    
    console.log = function(message) {
        logMessages.push(message);
    }

    También puede usar $log en lugar de la consola.de registro y el uso de una solución de este tipo para poner algunos enlaces en los mensajes de registro: https://gist.github.com/lrvick/6938531

Dejar respuesta

Please enter your comment!
Please enter your name here