量角器远程测试multibrowser

时间:2015-02-17 15:19:51

标签: selenium protractor selenium-grid angularjs-e2e

我是Protractor的新手。你有没有办法建议是否有办法在多个远程主机上运行量角器E2E测试(Ubuntu - Firefox,Chrome,Windows - IE,Chrome,Firefox,Mac - Firefox,Chrome,移动 - Android设备,移动 - iOS等。 ),多浏览器。请分享示例配置以指定远程主机。

由于不考虑使用saucelabs的许可成本,计划在本地测试环境中进行设置。

目前我能够在一台主机上运行量角器E2E测试,只有多个浏览器。 (例如:Mac - Firefox,Chrome,Safari)在conf.js中使用以下配置

multiCapabilities:[ {   'browserName':'chrome',    'chromeOptions':       {         'args':['no-sandbox','no-default-browser-check','no-first-run','disable-default-apps']         },         版本:'',         平台:'任意'     },

{
      'browserName': 'safari'
},
{
      'browserName': 'firefox'
}]

提前致谢。

1 个答案:

答案 0 :(得分:4)

第1步: 在多台机器上,启动selenium webdriver,并确保可以从你开始量角器的机器上访问它们

第2步: https://github.com/angular/protractor/blob/master/docs/referenceConf.js#L136 为每个浏览器设置适当的seleniumAddress

multiCapabilities: [{
  browserName: chrome,
  seleniumAddress: $HOST_A:1234,
  specs: ['testA.js']
}, {
  browserName: chrome,
  seleniumAddress: $HOST_B:1234,
  specs: ['testB.js']
}]

旁注,可能是那些硒地址不是静态的。您可以通过getMultiCapabilities(https://github.com/angular/protractor/blob/master/docs/referenceConf.js#L152)将multiCapabilities对象作为promise返回

要做任何其他奇特的事情,您可能需要直接与runner.js(https://github.com/angular/protractor/blob/master/lib/runner.js)互动