Mam więc dziwny problem.Limity czasu phantomjs i run-jasmine.js
Mam testowej biegacza Jasmine działa lokalnie na moim komputerze dostępnym na localhost: 8080/test/runner.html
Kiedy go otworzyć w przeglądarce internetowej działa idealnie.
Chciałem zautomatyzować to, więc używam phantomjs (zainstalowałem z warzenia - jestem na macu) i używam przykładowego pliku run-jasmine.js z kodu.
Ale, gdy uruchomię go na adres URL, mam to:
phantomjs war/test/spec/run_jasmine.js http://localhost:8080/test/runner.html
'waitFor()' timeout
Napisałem więc naprawdę prosty skrypt, aby sprawdzić, czy istnieje coś mi brakuje:
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');
}
}
});
I utworzyłem nowy plik HTML:
<!DOCTYPE html>
<html>
<head>
<title>hi</title>
</head>
<body>
<div id="hi"></div>
</body>
</html>
A rzeczy wciąż wisi na zawsze.
Czy tu czegoś brakuje? Wiem, że strona jest ładowana, ale nie wygląda na to, że phantomjs kiedykolwiek ją analizuje.
Może to brzmieć głupio, ale jeśli zastąpisz localhost przez 127.0.0.1? Jakiekolwiek różnice? – StevenMcD
To nie jest głupie, ale niestety nie działa. Ale mnie do myślenia - co się stanie, jeśli spróbuję telnet do portu 8080 i po prostu wykonaj 'GET /test/runner.html HTTP/1.1'. Niska i wygląda - 'HTTP/1.1 400 Bad Request Połączenie: zamknij Serwer: Jetty (6.1.x)' Więc, problem z serwerem ... (to lokalny serwer GAE) – tkone
Oh f a duck. Serwer wyświetla stronę z prośbą o dane logowania. Muszę to teraz zakodować. I zajmuj się ciasteczkami. Lub po prostu przejdź do innego podkatalogu ... – tkone