在Angular Project中的codecept-nightmare上运行本地服务器

时间:2019-02-15 17:16:18

标签: angular nightmare codeceptjs

我们想使用codeceptJS Nightmare在Angular 7应用程序中实现一些基本的E2E测试。测试应该是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 启动命令的方法,例如npm的http-server(因为该项目已在管道中进行编译)在 codecept.json 中。

是否可以启动本地服务器,然后运行Codecept-Nightmare E2E-Tes​​ts并随后终止服务器?

我也将接受一种骇人听闻的(脚本)解决方案(例如,在package.json中),因为ng serve && codeceptjs run --steps显然不能正常工作。

0 个答案:

没有答案