我正在尝试使用Webdriver.io的测试运行器和Browserstack Automate,针对多个浏览器并行运行Cucumber.js场景。我已经在测试运行器的配置中指定了我们想要测试的每个浏览器和操作系统的功能。设置了一个Webdriver.io配置文件来执行针对Browserstack Automate的测试运行。
我想执行一次测试运行并让每个场景在一个单独的Browserstack VM中同时运行 - 例如,在Chrome,Firefox,IE和Safari上运行第一个测试,同时第二个测试是针对相同的平台运行:
Parallel execution of scenarios per VM
不幸的是,似乎发生了以下情况:
Serial execution of scenarios per VM
是否可以在单独的Browserstack VM中同时运行每个场景?
答案 0 :(得分:0)
这里的问题不在于BrowserStack,而在于您并行启动测试的方式。 BrowserStack将根据接收请求的方式为测试分配远程计算机。
由于您使用的是WebdriverIO,因此您可以使用“multiremote”功能并行运行测试,如下所示:
var browser = webdriverio.multiremote({
myChromeBrowser: {
desiredCapabilities: {
browserName: 'chrome'
}
},
myFirefoxBrowser: {
desiredCapabilities: {
browserName: 'firefox'
}
}
});
要使用BrowserStack的'multiremote'功能,您可以查看此sample script。
此外,建议您发送电子邮件至support@browserstack.com以获取进一步的帮助。
<强>更新强>
WebDriverIO v4.0现在固有地支持并行测试。您可以通过指定以下给定的多组功能在不同的浏览器和操作系统组合上并行运行:
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
maxInstances: 10,
capabilities: [{
os: 'OS X',
os_version: 'Yosemite',
browser: 'firefox',
browser_version: '44',
name: 'Parallel Tests',
build: 'Sample WebDriverIO tests',
},
{
os: 'Windows',
os_version: '10',
browser: 'Chrome',
browser_version: '44',
name: 'Parallel Tests',
build: 'Sample WebDriverIO tests'
}]
您可以参考示例项目here以获取更多详细信息。