有没有办法通过量角器cli传递多个浏览器

ksb*_*sbg 7 protractor

只是想知道是否可以指定量角器的cli args

--multiCapabilities.0.browserName chrome --multiCapabilities.1.browserName firefox

这样它就会覆盖量角器conf文件中定义的multiCapabilities.

Sti*_*ler 22

艾萨克莱曼的第一个建议的具体例子:

CLI:

protractor ... --params.browsers="chrome,firefox"
Run Code Online (Sandbox Code Playgroud)

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();
},
Run Code Online (Sandbox Code Playgroud)


Isa*_*man 4

您可以尝试以下几件事。

如何在 Angularjs Protractor 中使用命令行参数?解释了如何传入“params”变量,如果您完全专业,您可以稍后在配置文件中使用 multiCapability 部分引用该变量(也许使用辅助函数或 if 语句,这样您就不必传入来自命令行的复杂对象)。不容易做到,但有可能。

https://sourcegraph.com/github.com/teerapap/grunt-protractor-runner(请参阅“选项”部分)是一个实用程序,可让您轻松地从命令行传递这些内容。它是开源的,如果它不能完全满足您的需求,似乎很容易修改。

最简单的选择,假设您只需要几个不同的选项,只需使用两个不同的配置文件“protractor.chrome.conf.js”和“protractor.firefox.conf.js”并运行您需要的任何一个此时此刻。