node.js/karma/ сквозное тестирование: не удалось прокси /app/index.html (ошибка: подключение ECONNREFUSED)
Ниже приведены сообщения, которые я получаю при попытке выполнить сквозное тестирование из учебника AngularJS http://docs.angularjs.org/tutorial/step_05 для MS Windows 8 Professional. Не могли бы вы посоветовать, как сделать этот тест хорошо работающим?
[2013-06-10 17:27:54.100] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
INFO [karma]: Karma server started at http://localhost:9876/
INFO [launcher]: <<< Starting browser Chrome
INFO [launcher]: --- Starting browser Chrome
INFO [Chrome 27.0 (Windows)]: Connected on socket id E20UigDmDqhk3jaRRYAP
WARN [proxy]: failed to proxy /app/index.html (Error: connect ECONNREFUSED)
2 ответа
Ошибка, которую вы видите, указывает на то, что вы не запустили веб-сервер. Поскольку вы используете./scripts/e2e-test.sh для запуска ваших тестов e2e, вам нужно, чтобы ваш веб-сервер обслуживал приложение с localhost:8000, и документирующая точка должна указывать на папку angular-phonecat, а не на папку приложения. Это можно сделать, просто запустив./scripts/web-server.js (см. Шаг 00).
Обратите внимание, что есть второй способ запустить ваши тесты e2e. Вы можете просто посетить
http://localhost:8000/test/e2e/runner.html
Да, проблема в том, что веб-сервер не работает. Проще всего запустить местный.
См. Angular-seed (шаблон проекта) по адресу https://github.com/angular/angular-seed для получения подробной информации о том, как настроить проект (из этого шаблона), чтобы иметь возможность запускать тестирование.
По существу:
- git clone https://github.com/angular/angular-seed
- Я клонировал как "angular-seed-template-project" и использую его как шаблон для своих собственных проектов.
- я
git pull
на этом сбить последнюю работу и запуститьnpm update
тянуть в своих последних зависимостях - Они на самом деле говорят, чтобы раскошелить угловое семя на мерзавца, что позволит вам легко
git pull
обновить ваш проект последними изменениями (согласно Как объединить родительский ветвь?). Однако, насколько я понимаю, вы можете разветвить проект github только один раз, что исключает использование angular-seed в качестве шаблона. Очевидно, мне нужно рассмотреть это более подробно.
cd <the-project>
npm test
запустить юнит-тестыnpm start
запустить веб-сервер с приложением current-dir в качестве базы. Это не будет работать как процесс по умолчанию, поэтому либо сделайте это в другом терминале, где вы запускаете команды командной строки, либо запустите как процесс (который называетсяnode
что вам нужно будет убить позже) -npm start &
npm run update-webdriver
установить Selenium и многое другоеnpm run protractor
выполнить сквозные интеграционные тесты
Выполнение этого в соответствии с инструкциями agile-seed позволит избежать этой ошибки.