【发布时间】:2017-04-23 12:59:47
【问题描述】:
如何使用配置文件为ng e2e 命令设置端口和主机?
我知道可以在命令行中使用以下语句
ng e2e --port <port number> --host <host>
这很好用,但是在配置文件中设置端口和地址会更方便。我查看了.angular-cli.json 内部,发现有一个名为protractor.config.js 的文件,我无法弄清楚要在该文件中使用哪些设置,有一个baseUrl 设置,但更改它不会产生任何影响与ng e2e 命令使用的端口不同。它似乎在使用随机端口。
除了baseUrl,我也尝试过设置port和seleniumPort,但它们没有区别。
输入ng e2e 命令后,控制台中会出现以下输出
** NG Live Development Server is running on http://localhost:49155 **
在protractor.config.js 中,我将baseUrl 设置为http://localhost:50000。我观察到正在执行的测试,我可以看到浏览器正在使用地址 http://localhost:49155,这不是我想要的地址。
ng --version 返回以下内容
@angular/cli: 1.0.0
节点:7.7.1
操作系统:win32 x64
@angular/common: 4.0.3
@angular/编译器:4.0.3
@角/核心:4.0.3
@angular/forms:4.0.3
@angular/http:4.0.3
@angular/平台浏览器:4.0.3
@angular/platform-browser-dynamic: 4.0.3
@angular/路由器:4.0.3
@angular/cli:1.0.0
@angular/compiler-cli: 4.0.3
【问题讨论】:
-
你是什么意思“被
ng e2e命令使用”?您是在谈论 selenium 正在运行的端口,还是它将寻找正在运行的应用程序的端口?后者您绝对可以使用baseUrl进行更改。你能显示你得到的输出吗? -
@jonrsharpe 我说的是应用程序运行的端口。输出的第一行是
** NG Live Development Server is running on http://localhost:49155 **,但我已将baseUrl设置为http://localhost:50000 -
那是
ng serve运行的端口,当然,不一定是ng e2e正在寻找的端口? -
我尝试输入不存在的主机和端口作为 baseUrl 并且测试通过了,所以似乎 baseUrl 没有做任何事情,因为我可以使用命令行参数和输入相同的不存在的主机和端口会发生错误
标签: angular protractor angular-cli