在不同的Urls上并行运行量角器测试(相同的浏览器)

时间:2016-09-29 21:45:35

标签: selenium protractor e2e-testing

我想并行运行测试。试图将shardTestFiles:truemaxInstance:2一起使用。但我需要的是能够为这些测试实例指定不同的URL,因为我的应用程序不是完全无状态的。

我尝试提供多种Chrome功能来实现这一目标,并通过名称进行识别。像这样:

multiCapabilities: [
  {
    'browserName': 'chrome',
     name: 'browser1'               
  },
  {
    'browserName': 'chrome',
     name: 'browser2'               
  }
]

但是量角器并没有对功能之间的测试进行分析。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是一个很好的问题,它绝对可能。使用browser.getProcessedConfig在运行时获取当前浏览器的name并相应地修改baseUrl。请参阅browser.getProcessedConfig API doc

修改on-prepare功能,如下所示

onPrepare: function() {
    browser.getProcessedConfig().then(function(config){
        switch(config.capabilities.name) {
            case 'browser1':
                browser.baseUrl = 'https://angularjs.org/'
                break;
            case 'browser2':
                browser.baseUrl = 'http://www.protractortest.org/'
                break;
            default:
                browser.baseUrl = 'https://builtwith.angularjs.org/'
                break;
        }
    })
},