只是想知道是否可以指定cli args到量角器,如
- multiCapabilities.0.browserName chrome --multiCapabilities.1.browserName firefox
这样它就会覆盖量角器conf文件中定义的multiCapabilities。
答案 0 :(得分:22)
Isaac Lyman的第一个建议的具体例子:
CLI:
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();
},
答案 1 :(得分:4)
你可以尝试一些事情。
How can I use command line arguments in Angularjs Protractor?解释了如何传入一个“params”变量,如果你是完全专业的,你可以在配置文件中稍后用multiCapabilities部分引用(可能使用辅助函数或if语句,所以你不必从命令行传入复杂的对象)。不容易做到,但可能。
https://sourcegraph.com/github.com/teerapap/grunt-protractor-runner(参见“选项”部分)是一个实用程序,可以让您从命令行传递这些内容而不会有任何问题。它是开源的,如果它不能完全满足你的需求,它似乎很容易修改。
最简单的选择,假设您只需要几个不同的选项,只需使用两个不同的配置文件,“protractor.chrome.conf.js”和“protractor.firefox.conf.js”并运行任何一个你现在需要。
答案 2 :(得分:1)
这是一个合理的要求。我在这里为此创建了一个PR:https://github.com/angular/protractor/pull/1770。目前,您可以将此PR修补到本地量角器以使用此功能。