【发布时间】:2015-03-30 03:13:56
【问题描述】:
只是想知道是否可以将 cli args 指定为量角器,例如
--multiCapabilities.0.browserName chrome --multiCapabilities.1.browserName firefox
这样它会覆盖 protractor conf 文件中定义的 multiCapabilities。
【问题讨论】:
标签: protractor
只是想知道是否可以将 cli args 指定为量角器,例如
--multiCapabilities.0.browserName chrome --multiCapabilities.1.browserName firefox
这样它会覆盖 protractor conf 文件中定义的 multiCapabilities。
【问题讨论】:
标签: protractor
艾萨克·莱曼第一个建议的具体例子:
命令行界面:
protractor ... --params.browsers="chrome,firefox"
conf.js:
var capabilities = {
chrome: {
browserName: 'chrome'
},
firefox: {
browserName: 'firefox'
}
};
...
getMultiCapabilities: function() {
var browsers = this.params.browsers.split(',');
// Using lodash to select the keys in `capabilities` corresponding
// to the browsers param.
return _( capabilities )
.pick(browsers)
.values()
.value();
},
【讨论】:
您可以尝试一些方法。
How can I use command line arguments in Angularjs Protractor? 解释了如何传入“params”变量,如果您完全是专业人士,您可以稍后在配置文件中使用 multiCapabilities 部分引用该变量(可能使用辅助函数或 if 语句,这样您就不需要了) t 必须从命令行传入一个复杂的对象)。不容易做到,但有可能。
https://sourcegraph.com/github.com/teerapap/grunt-protractor-runner(参见“选项”部分)是一个实用程序,可让您从命令行毫无问题地传递这些内容。它是开源的,如果它不能完全满足您的需求,似乎很容易修改。
假设您只需要几个不同的选项,最简单的选择就是使用两个不同的配置文件“protractor.chrome.conf.js”和“protractor.firefox.conf.js”并运行其中一个你现在需要。
【讨论】:
这是一个合理的要求。我在这里为此创建了一个 PR:https://github.com/angular/protractor/pull/1770。现在,您可以将此 PR 修补到本地量角器以使用此功能。
【讨论】: