【发布时间】:2017-06-28 23:12:07
【问题描述】:
我想针对正在运行的服务器运行我的角度 e2e 测试。默认 URL 在 protractor.conf.js 文件中配置,但似乎没有允许在运行时覆盖它的命令行参数。我尝试使用选项--public-host,但它不起作用。除了覆盖protractor.conf.js文件,还有什么解决办法吗?
【问题讨论】:
标签: angular protractor angular-cli
我想针对正在运行的服务器运行我的角度 e2e 测试。默认 URL 在 protractor.conf.js 文件中配置,但似乎没有允许在运行时覆盖它的命令行参数。我尝试使用选项--public-host,但它不起作用。除了覆盖protractor.conf.js文件,还有什么解决办法吗?
【问题讨论】:
标签: angular protractor angular-cli
使用 angular 6 唯一有效的命令是这个
ng e2e --dev-server-target="" --base-url="https://localhost:8080"
【讨论】:
您可以传递命令行参数,我从未使用过 Angular CLI,但您通常可以将其添加到您正在运行的脚本后面 ng e2e --baseUrl=http://your.other.url.com,这可能是 Angular CLI 需要双 -- 所以它变为ng e2e -- --baseUrl=http://your.other.url.com。可能需要双 -- 来告知命令行参数已传递。
如果您有多个命令行参数,则不需要这样做,如果 Angular CLI 需要它,只需添加一次。当我有一个 npm 脚本时,我通常会使用它。
祝你好运
【讨论】:
ng e2e --server false -- --baseUrl=http://your.other.url.com,浏览器仍然尝试连接到protractor.conf.js 中指定的baseUrl。
看起来像是昨天发布的最新版@angular/cli
(see changelog) 正在解决覆盖 baseUrl 的问题。但是,与选项 --serve false 结合使用时,它不起作用。
【讨论】:
--publicHost。你也试过这个吗?
传递--no-serve 和--base-href=http://yoururltotest:8080 将不会构建以及提供来自命令的--base-href= 中传递的基本url。
我尝试了其他选项的组合,但没有成功。
所以命令将是
ng e2e --no-serve --base-href=https://yoururltotest:8888
【讨论】: