如何使ng e2e在可用端口上运行?

时间:2018-07-04 06:11:17

标签: angular typescript protractor e2e-testing

升级到Angular 6后,ng e2e无法在可用端口上运行。 例如,如果您使用的是Angular的先前版本(我们以前使用的是4),则您的应用程序服务将在端口号4200中,而当我们同时运行ng e2e时,它会选择一个可用端口(例如49152)来运行测试。

在Angular 6升级之后,当我尝试在类似情况下运行测试时,它失败,并显示错误消息Port 4200已经在使用中。

PS:出于CI的目的,我不想手动将--port {port number}传递给命令,因为硬编码端口号将在CI中并行执行时遇到问题。升级到Angular 6时出现问题,我应该更改配置吗?

任何建议都会有很大帮助!谢谢

2 个答案:

答案 0 :(得分:3)

我能够找到解决方案。

只需运行ng e2e --port 0即可在可用端口上运行。

执行此命令时,测试将在并行执行的情况下查找可用的端口。我们不需要每次都明确地硬编码或提供端口号。

答案 1 :(得分:0)

我遇到了类似的问题。您可以尝试执行以下操作:在package.json文件中的scripts中,您可以从此处输入"e2e": ng e2e --port number,在命令行中,您可以输入npm run e2e