如何参数化量角器配置文件的baseUrl属性

And*_*erg 19 protractor

我需要baseUrl在配置文件中使用不同的s在不同的上下文中运行我的量角器测试.我不想为每种情况使用单独的配置文件,因为这更难以维护.相反,我想将基本URL作为命令行参数传递.这是我到目前为止所尝试的:

protractor.conf.js:

exports.config = {
  onPrepare : {
    ...
    exports.config.baseUrl = browser.params.baseUrl;
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

并调用量角器:

protractor protractor.conf.js --params.baseUrl 'http://some.server.com'
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为看起来browseronPrepare调用之前已经配置了实例.

同样,我试过这个:

exports.config = {
  baseUrl : browser.params.baseUrl
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为在生成配置时似乎浏览器实例不可用.

看起来我可以使用标准节点process.argv来访问所有命令行参数,但这似乎违背了量角器的精神.

对我来说,做我需要做的最好的方法是什么?

And*_*erg 25

似乎这已经是可能的,但文档在这个领域是不稳定的. 然而,查看代码,量角器确实支持许多看似未记录的命令行参数.

所以,运行这样的东西会起作用:

protractor --baseUrl='http://some.server.com' my.conf.js
Run Code Online (Sandbox Code Playgroud)

  • 量角器~4.0.9的当前语法似乎是:`protractor --baseUrl http://some.server.com/ my.conf.js`.我使用--baseUrl ='etc'收到错误. (3认同)