Как настроить тестирование Codecept E2E с Angular2?
Я новичок в тестировании e2e. Я хотел бы попробовать это с http://codecept.io/angular/
С тех пор как я запустил свое приложение с помощью https://github.com/AngularClass/angular2-webpack-starter Protractor / Jasmine уже работает.
Из того, что я понимаю, кодепс работает над транспортиром. Я установил его правильно, но когда я запускаю простой тест, у меня возникает ошибка.
вот мой codecept.json:
{
"tests": "src/app/*_test.js",
"timeout": 10000,
"output": "./output",
"helpers": {
"Protractor": {
"url": "http://localhost:3000/",
"driver": "hosted",
"browser": "chrome",
"rootElement": "body"
}
},
"include": {
"I": "./steps_file.js"
},
"bootstrap": false,
"mocha": {},
"name": "front"
}
И вот мой тест:
Feature('MyApp');
Scenario('First Test', (I) => {
I.amOnPage('/#/home');
});
Это журнал ошибок:
MyApp --
First Test
• I am on page "/#/home"
✖ FAILED in undefinedms
✖ "after each" hook: finialize codeceptjs in 0ms
-- FAILURES:
1) MyApp: First Test:
Uncaught Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
Любая помощь?
2 ответа
Как здесь ответили Невозможно запустить транспортир - ECONNREFUSED connect ECONNREFUSED:
webdriver-manager update
webdriver-manager start --standalone
и это мой codecept.json:
{
"tests": "src/app/*_test.js",
"timeout": 10000,
"output": "./output",
"helpers": {
"Protractor": {
"url": "http://localhost:3000/",
"driver": "hosted",
"browser": "chrome",
"rootElement": "body",
"useAllAngular2AppRoots": true
}
},
"include": {
"I": "./steps_file.js"
},
"bootstrap": false,
"mocha": {},
"name": "front"
}
Обратите внимание на "useAllAngular2AppRoots": true
Вы можете запустить Protractor в прямом режиме - это пропускает сервер webdriver/selenium и подключает помощника Protractor непосредственно к браузеру.
Вам необходимо настроить Protractor, используя "прямой" режим, например так: значение "directConnect" передается самому Protractor, поэтому он также использует прямой режим.
"helpers": {
"Protractor": {
"url": "http://localhost:3000/",
"driver": "direct",
"directConnect": true,
"browser": "chrome",
"rootElement": "body",
"useAllAngular2AppRoots": true
}
},