2012-02-21 8 views
6

Así que tengo un problema extraño.phantomjs y run-jasmine.js timeouts

Tengo un corredor de prueba jazmín que se ejecutan localmente en mi máquina disponible en localhost: 8080/test/runner.html

Cuando lo abra en un navegador web que funciona perfectamente.

Quería automatizar esto, así que estoy usando phantomjs (instalado de brew - Estoy en un mac) y estoy usando el archivo de ejemplo run-jasmine.js del código.

Pero, cada vez que lo ejecuto en contra de la dirección URL, me sale esto:

phantomjs war/test/spec/run_jasmine.js http://localhost:8080/test/runner.html 
'waitFor()' timeout 

Así que escribió un script muy simple para ver si hay algo que me falta:

var page = require('webpage').create(); 

page.open(phantom.args[0], 
function(status) { 
    if (status !== "success") { 
     console.log("Unable to access network"); 
     phantom.exit(); 
    } else { 
     if (document.body.querySelector('#hello')) { 
      console.log('hi'); 
     } 
    } 
}); 

Y creó un nuevo archivo HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <title>hi</title> 
</head> 
<body> 
    <div id="hi"></div> 
</body> 
</html> 

Y la cosa todavía se cuelga para siempre.

¿Falta algo aquí? Sé que la página se está cargando, pero no parece que phantomjs lo esté analizando.

+0

Esto puede sonar tonto, pero si reemplaza localhost con 127.0.0.1? ¿Alguna diferencia? – StevenMcD

+0

Eso no es tonto, pero lamentablemente no funciona. Pero me hizo pensar: ¿qué ocurre si trato de telnet al puerto 8080 y solo hago un 'GET /test/runner.html HTTP/1.1'. Bajo y he aquí: HTTP/1.1 400 Solicitud incorrecta Conexión: cerrar Servidor: Jetty (6.1.x) 'Entonces, como un problema con el servidor ... (es el servidor local de GAE) – tkone

+1

Oh f a duck. El servidor está arrojando una página que solicita credenciales de inicio de sesión. Tengo que codificar eso en esto ahora. Y trato con las cookies O simplemente muévase a un subdirectorio diferente ... – tkone

Respuesta

5

Bueno, me siento tonto.

La/prueba/requiere autenticación.

+1

jaja, cometí exactamente el mismo error al implementar phantomjs con nuestra solución .net. ¡Así es como aprendemos! – StevenMcD

+0

más uno para sentirse tonto :) – pietrovismara

Cuestiones relacionadas