Итак, у меня есть странная проблема.phantomjs и run-jasmine.js таймауты
У меня есть тестовый бегун Жасмин работает локально на моей машине, доступной на локальном хосте: 8080/тест/runner.html
Когда я открываю его в веб-браузере он прекрасно работает.
Я хотел автоматизировать это, поэтому я использую phantomjs (установленный с пивоварения - я нахожусь на mac), и я использую пример run-jasmine.js-файла из кода.
Но всякий раз, когда я запускаю его против URL, я получаю это:
phantomjs war/test/spec/run_jasmine.js http://localhost:8080/test/runner.html
'waitFor()' timeout
Так что я написал очень простой сценарий, чтобы увидеть, если есть что-то я пропускаю:
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');
}
}
});
И создал новый файл HTML:
<!DOCTYPE html>
<html>
<head>
<title>hi</title>
</head>
<body>
<div id="hi"></div>
</body>
</html>
И вещь все еще просто висит навсегда.
Я что-то упустил? Я знаю, что страница загружается, но это не похоже, что phantomjs когда-либо разбирает ее.
Это может показаться глупым, но если вы замените localhost 127.0.0.1? Любая разница? – StevenMcD
Это не глупо, но, к сожалению, не работает. Но заставил меня задуматься - что произойдет, если я попытаюсь подключиться к порту 8080 и просто сделаю «GET /test/runner.html HTTP/1.1». Low and behold - 'HTTP/1.1 400 Bad Request Connection: close Сервер: Jetty (6.1.x)' Так что, проблема с сервером ... (это локальный сервер GAE) – tkone
О, да, утка. Сервер запускает страницу с запросом учетных данных. Теперь я должен это сделать. И обрабатывайте файлы cookie. Или просто перейдите в другой подкаталог ... – tkone