我正试图在chrome、IE和firefox的炖锅实验室上运行wdio测试。
测试对chrome和IE运行良好,但对带有的firefox失败
Infrastructure Error -- The Sauce VMs failed to start the browser or device.
我正在使用最新版本的wdio和酱汁服务:
"devDependencies": {
"@wdio/cli": "^6.1.5",
"@wdio/cucumber-framework": "^6.1.1",
"@wdio/local-runner": "^6.1.5",
"@wdio/sauce-service": "^6.1.0",
"@wdio/spec-reporter": "^6.1.5",
"@wdio/sync": "^6.1.5",
"chromedriver": "^81.0.0",
"wdio-chromedriver-service": "^6.0.2"
}
我的浏览器配置:
capabilities: [
{
maxInstances: 3,
browserName: "chrome",
browserVersion: "latest"
},
{
maxInstances: 3,
browserName: "firefox",
browserVersion: "latest",
platform: "windows 10",
"sauce:options": {
seleniumVersion: "3.14.0",
},
},
{
maxInstances: 3,
browserName: "internet explorer",
browserVersion: "latest"
},
],
这是WebdriverIO和Sauce Labs如何处理W3C浏览器选项的问题。您确实需要提供sauce:options
功能才能使用最新版本的Firefox,它看起来像这样:
capabilities: {
maxInstances: 3,
browserName: 'firefox',
platformName: 'Windows 10',
browserVersion: 'latest',
'sauce:options':
{'seleniumVersion': '3.14.0'}
}
sauce:options
指定了仅限Sauce的功能,例如在这种情况下使用哪个版本的Selenium WebDriver。
我能够修复它。
为了使W3C兼容的Selenium功能和协议发挥作用,所有非标准功能都需要在"sacue:options"块中定义。这包括"构建"能力。此外,为了指定平台,功能名称已从"platform"更改为"platformName"。所以功能应该是这样的:
capabilities: {
browserName: 'firefox',
platformName: 'Windows 10',
browserVersion: 'latest',
'sauce:options':
{
'seleniumVersion': '3.14.0',
'build': buildName()
}
}