Запустите локальный сервер на Codecept-Nightmare в Angular Project
Мы хотим реализовать некоторые базовые тесты E2E в нашем приложении Angular 7 с https://codecept.io/nightmare. Испытания должны быть частью конвейера CI. Я следовал за документами и установил basicTest.e2e.js:
Feature('Basic');
Scenario('test if Users header appears', (I) => {
I.amOnPage('http://localhost:4200/users');
I.see('Users', 'h1');
});
а также codecept.json:
{
"tests": "./e2e/*.e2e.js",
"timeout": 10000,
"output": "./_tmptest",
"helpers": {
"Nightmare": {
"url": "http://localhost",
"show": false,
"restart": false
}
}
}
и выполнить его с codeceptjs run --steps
, Однако это приводит к ошибке:
CodeceptJS v1.3.2
Basic --
test if Users header appears
I am on page "http://localhost:4200/users"
✖ FAILED in 465ms
-- FAILURES:
1) Basic
test if Users header appears:
navigation error
Scenario Steps:
- I.amOnPage("http://localhost:4200/users") at Object.obj.(anonymous function).obj.(anonymous function) [as amOnPage] (node_modules/codeceptjs-nightmare/node_modules/codeceptjs/lib/actor.js:28:26)
Run with --verbose flag to see NodeJS stacktrace
FAIL | 0 passed, 1 failed // 1s
Выполнение команды с ng serve
работает в другой консоли работает:
CodeceptJS v1.3.2
Basic --
test if Users header appears
I am on page "http://localhost:4200/users"
I see "Users", "h1"
✓ OK in 2173ms
поэтому очевидно, что локальный сервер не запускался до запуска тестов. Я не смог найти способ настроить команду запуска codecept, например http-сервер npm (так как проект уже скомпилирован в этот момент в конвейере) в codecept.json.
Есть ли способ запустить локальный сервер, затем запустить Codecept-Nightmare E2E-Tests и впоследствии завершить работу сервера?
Я бы также принял хакерское (скриптовое) решение (например, в package.json) как ng serve && codeceptjs run --steps
очевидно не работает.