start karma node.js centos phantomjs karma-runner socket-timeout-exception

node.js - start - Karma no puede capturar PhantomJS



karma jasmine (2)

Hemos configurado un servidor de Jenkins CI que ejecuta Karma y se dirige a PhantomJS. Estamos realizando nuestras pruebas a través de Grunt. Jenkins, Grunt y Phantom están funcionando correctamente, y Karma parece comenzar bien, pero Karma no puede capturar a Phantom. Nuestros scripts se ejecutan localmente (OSX) muy bien. El mismo error existe corriendo a través de bash o a través de Jenkins:

Running "karma:jenkins-unit" (karma) task [2013-07-03 11:03:12.168] [WARN] config - urlRoot normalized to "/__karma/" DEBUG [reporter]: Using reporter "dots". DEBUG [reporter]: Using reporter "junit". DEBUG [reporter]: Using reporter "coverage". INFO [karma]: Karma server started at http://localhost:8084/__karma/ INFO [launcher]: Starting browser PhantomJS DEBUG [launcher]: Creating temp dir at /tmp/testacular-7720703 DEBUG [launcher]: phantomjs /tmp/testacular-7720703/capture.js INFO [karma]: To run via this server, use "karma run --runner-port 9104" ... WARN [launcher]: PhantomJS have not captured in 60000 ms, killing. DEBUG [launcher]: Process PhantomJS exitted with code 0 DEBUG [launcher]: Cleaning temp dir /tmp/testacular-7720703 INFO [launcher]: Trying to start PhantomJS again. DEBUG [launcher]: Creating temp dir at /tmp/testacular-7720703 DEBUG [launcher]: phantomjs /tmp/testacular-7720703/capture.js WARN [launcher]: PhantomJS have not captured in 60000 ms, killing. DEBUG [launcher]: Process PhantomJS exitted with code 0 DEBUG [launcher]: Cleaning temp dir /tmp/testacular-7720703 INFO [launcher]: Trying to start PhantomJS again. DEBUG [launcher]: Creating temp dir at /tmp/testacular-7720703 DEBUG [launcher]: phantomjs /tmp/testacular-7720703/capture.js WARN [launcher]: PhantomJS have not captured in 60000 ms, killing. DEBUG [launcher]: Process PhantomJS exitted with code 0 DEBUG [karma]: PhantomJS failed to capture, aborting the run. DEBUG [launcher]: Disconnecting all browsers DEBUG [launcher]: Killing PhantomJS DEBUG [launcher]: Cleaning temp dir /tmp/testacular-7720703 Warning: Task "karma:jenkins-unit" failed. Use --force to continue.

Nuestro servidor es CentOS 6.4.

Aquí están las versiones que tenemos en ejecución: grunt-cli v0.1.9 grunt v0.4.1 nodo 0.10.12 y 0.8.25. phantomjs 1.9.1 karma 0.8.6

¡Cualquier ayuda sería muy apreciada!


Use sondeo en lugar de sockets y rutas absolutas en lugar de rutas relativas en el archivo de configuración karma.conf.js para asegurarse de que la estructura del directorio se esté atravesando correctamente y de que la conexión cliente / servidor no tenga dependencias externas:

module.exports = function(config) { var absolute_root = process.cwd() + ''/''; config.set ( { // https://npmjs.org/browse/keyword/karma-adapter frameworks: [''jasmine''], // list of files files: [ absolute_root + ''test/Spec/**/*.js'', absolute_root + ''js/*.js'', absolute_root + ''../libs/jquery.js'' ], usePolling: true, transports: [''xhr-polling'', ''jsonp-polling''], browsers: [''PhantomJS''] } ); };

Referencias


En mi caso agregando

transports: [''xhr-polling'', ''jsonp-polling'']

a karma.conf.js fue suficiente. El verdadero problema era una versión muy antigua del karma (0.12). Ahora con 1.4. No necesito una CPU que consuma encuestas.