我是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'
}]
提前致谢。
答案 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)互动