2017-04-23 32 views
5

如何使用配置文件为ng e2e命令设置端口和主机?如何使用配置为ng e2e指定端口和主机

我知道,这是可以使用下面的语句在命令行

ng e2e --port <port number> --host <host> 

这工作得很好,但它会设置端口和地址的配置文件中更加方便。我查看了.angular-cli.json,发现有一个名为protractor.config.js的文件,我一直无法弄清楚在该文件中使用的设置,有一个baseUrl设置,但更改该设置对端口没有任何影响由ng e2e命令使用。它似乎在使用随机端口。

除了baseUrl我也尝试设置portseleniumPort但他们没有区别。

在控制台

** NG Live Development Server is running on http://localhost:49155 ** 

protractor.config.js进入ng e2e命令以下输出出现在后我有baseUrl集作为http://localhost:50000。我观察到测试正在执行,我可以看到浏览器使用的地址是http://localhost:49155,这不是我所希望的地址。

ng --version返回跟随着

@角/ CLI:1.0.0
节点:7.7.1
OS:win32的64
@角/共同:4.0.3
@角/编译器:4.0.3
@角/芯:4.0.3
@角/形式:4.0.3
@角/ HTTP:4.0.3
@angu LAR /平台的浏览器:4.0.3
@角/平台的浏览器的动态:4.0.3
@角/路由器:4.0.3
@角/ CLI:1.0.0
@角/反编译CLI:4.0.3

+1

你这是什么意思是*“用于'ng e2e'命令”*?您是在谈论运行selenium的端口,还是要查找正在运行的应用程序的端口?后者你可以使用'baseUrl'改变。你能显示你得到的输出吗? – jonrsharpe

+0

@jonrsharpe我正在谈论应用程序运行的端口。输出的第一行是'** NG Live Development Server正在运行在http:// localhost:49155 **'上,但我已经将'baseUrl'设置为'http:// localhost:50000' – user7237069

+0

这是端口'ng serve'正在运行,当然,不一定是'ng e2e'正在寻找什么? – jonrsharpe

回答

6

我还没有看到运行ng e2e

当在开发服务器上运行的端口配置您最好的选择可能是一个NPM脚本:https://docs.npmjs.com/misc/scripts

  1. 添加"e2e":"ng e2e --port <port number> --host <host>"package.jsonscripts
  2. 使用脚本运行npm run e2e,这将在package.json运行脚本e2e,在这种情况下,你ng e2e --port <port number> --host <host>

它不是一个配置文件,但它的工作原理就像一个。

2

baseUrl属性莫名其妙地不能在protractor.config中工作。JS,但你可以通过编程设置onPrepare方法属性在同一config.js

{ 
    onPrepare() { 
     browser.baseUrl = 'http://localhost:4200/'; 
    }, 
} 

我一直在使用1.x的角度这个解决方案,目前仍然可以工作角2/4

+0

我'我也注意到了这一点;当使用Angular CLI'ng e2e'命令时,出于某种原因baseUrl被覆盖。 – Willwsharp

+0

我无法找到任何地方的'protractor.config.js'文件,因为它显然已在最新版本中重命名为'protractor.conf.js'。 –

相关问题