2

我正在尝试在 chrome、IE 和 firefox 的 Saucelabs 上运行 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"
    },
  ],

4

2 回答 2

1

这是 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 。

于 2020-04-30T17:55:55.613 回答
0

我能够修复它。

为了使符合 W3C 的 Selenium 功能和协议能够正常工作,所有非标准功能都需要在“sacue:options”块中定义。这包括“构建”能力。此外,为了指定平台,功能名称已从“平台”更改为“平台名称”。所以能力应该是这样的:

capabilities: { 
  browserName: 'firefox',
  platformName: 'Windows 10', 
  browserVersion: 'latest', 
  'sauce:options': 
    {
    'seleniumVersion': '3.14.0',
    'build': buildName()
    }
}
于 2020-05-01T14:53:28.503 回答