Protractor: webdriver-manager stdout maxBuffer exceder

Creado en 7 may. 2014  ·  3Comentarios  ·  Fuente: angular/protractor

Hola a todos

Estoy usando Protractor y webdriver-manager start en una sola tarea gruñida, ya que en ci no puedo usar 2 ventanas de terminal.

Especificaciones: Windows 7, nodo v0.10.26, Transportador 0.22.0, corredor de transportador gruñido (que usa Transportador 0.22.0)

Estoy usando grunt concurrente con 2 tareas: grunt shell webdriver-manager start and protractor. Ejecutando las pruebas una por una siempre tienen éxito. Ejecutando todas las pruebas,
las primeras pruebas tuvieron éxito, pero en la 4.ª o 5.ª prueba falla con este mensaje .....Advertencia: stdout maxBuffer excedido. Utilice --force para continuar.
Parece que se ha superado el límite del búfer del comando de generación y la tarea secundaria finaliza.

He resuelto este problema cambiando el comando de generación de webdriver-manager.

en Webdriver-manager cambié
devuelve childProcess.spawn(winCommand, finalArgs,
{ stdio: 'heredar' });

a:
devuelve childProcess.spawn(winCommand, finalArgs,
{ stdio: 'ignorar' });

¿Hay alguna otra solución para que webdriver-manager no exceda el búfer, o se puede configurar? ¿Se puede incluir la función para deshabilitar el registro de generación en una versión futura de Protractor?

Comentario más útil

Disculpe por la tardanza en responder. Estoy bastante seguro de que este error se debe a que Grunt Shell está usando el comando child_process.exec de Node. Esto permite una opción personalizada maxBuffer , que debe aumentar. Puedes hacer esto como:

grunt.initConfig({
    shell: {
        foo: {
            command: 'webdriver-manager start',
            options: {
                stderr: false,
                execOptions: {
                    maxBuffer: 400*1024 // or whatever other large value you want
                }
            }
        }
    }
});

Cerrar ya que este es un problema gruñido.

Todos 3 comentarios

Disculpe por la tardanza en responder. Siento que este es un problema con el gruñido: todo lo que hace webdriver-manager es reenviar la salida. No estoy particularmente familiarizado con la forma en que grunt maneja la salida, pero ¿quizás puedas decirle a grunt que ignore la salida estándar?

hola julio
Sin éxito, pude ignorar la salida estándar del proceso secundario en webdriver-manager. Aunque en la salida de la tarea grunt, no aparecieron registros, después de algunas pruebas apareció el mismo mensaje de error 'stdout maxBuffer excedido'. Solo pude evitar el problema ejecutando una tarea de reemplazo de gruñido para cambiar el stdio en el administrador de controladores web.

Disculpe por la tardanza en responder. Estoy bastante seguro de que este error se debe a que Grunt Shell está usando el comando child_process.exec de Node. Esto permite una opción personalizada maxBuffer , que debe aumentar. Puedes hacer esto como:

grunt.initConfig({
    shell: {
        foo: {
            command: 'webdriver-manager start',
            options: {
                stderr: false,
                execOptions: {
                    maxBuffer: 400*1024 // or whatever other large value you want
                }
            }
        }
    }
});

Cerrar ya que este es un problema gruñido.

¿Fue útil esta página
0 / 5 - 0 calificaciones