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.
Esto puede sonar tonto, pero si reemplaza localhost con 127.0.0.1? ¿Alguna diferencia? – StevenMcD
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
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