0

我正在尝试在与本地机器不同的服务器上针对应用程序实例运行 Angular 的 e2e 测试。所以要清楚,我不是在测试我的本地代码

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

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

我已经有一个解决方案,但它很啰嗦,我希望能够不改变我的队友从他们的 shell 运行测试的方式:

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

4

1 回答 1

1

是的。我会做#1。更新你的 package.json 是有意义的

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

然后运行npm run protractor。e2e 命令也在下载 chromedriver、selenium jar 文件,也许还有 geckodriver?与 webdriver 管理器。如果您希望将其作为前置步骤:

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

它还会启动您的 Angular 应用程序。如果您需要这样做,我只会ng serve在后台进程中调用并运行它。我希望这会有所帮助。

于 2019-01-10T06:21:28.567 回答