Angular CLI,覆盖由“ ng e2e”运行的命令?

时间:2019-01-09 17:38:40

标签: node.js angular protractor angular-cli angular-e2e

我正在尝试在本地计算机上的不同服务器上上对应用程序实例运行Angular的e2e测试。 为了清楚起见,我不测试我的本地代码

我只需要在没有角度构建步骤的情况下运行量角器,因为这是浪费时间,因为我要测试的代码在另一台服务器上。不幸的是,如果我过度修改/删除以下行,则angular.json文件将引发错误:

"builder": "@angular-devkit/build-angular:protractor",

我已经有一个解决方案,但是它一直困扰着我,我希望不能更改队友从其外壳运行测试的方式:

node node_modules/protractor/bin/protractor e2e/protractor.conf.js

我有两个想法:

  1. 编写运行该命令的npm脚本(我可能最终会做的事情)
  2. 了解如何覆盖ng e2e的功能。如果我可以在此处运行更复杂的命令,它将节省生产力和反馈时间。

我正在使用Angular V7。

是否要覆盖ng e2e,以便它可以执行node node_modules/protractor/bin/protractor e2e/protractor.conf.js

1 个答案:

答案 0 :(得分:1)

是的。我会做#1。更新您的package.json

"scripts": {
  "protractor": "protractor e2e/protractor.conf.js"
}

,然后仅运行npm run protractor。 e2e命令还会下载chromedriver,selenium jar文件以及geckodriver?与webdriver-manager。如果您希望以此为前提:

"scripts": {
  "protractor": "protractor e2e/protractor.conf.js",
   // just download chromedriver and the selenium jar
  "preprotractor": "webdriver-manager update --gecko false"  
}

它也开始您的角度应用。如果您需要这样做,我只需要调用ng serve并在后台进程中运行它即可。希望对您有所帮助。