如何使用wdio testRunner和wdio-selenium-standalone-service在firefox上运行webdriverio测试

时间:2018-04-23 18:11:36

标签: firefox webdriver-io

我的环境:

  1. Mac OSX 10.12.6
  2. webdriverio(使用测试运行器,即wdio)("webdriverio": "^4.9.11"
  3. 黄瓜框架("wdio-cucumber-framework": "^1.0.3"
  4. 使用WDIO Selenium Standalone Service帮助自动启动selenium服务。("wdio-selenium-standalone-service": "0.0.10"
  5. firefox(版本:52)
  6. 我能够在Chrome浏览器上成功运行测试(版本:65)但是当涉及到firefox时,我总是会遇到connection refused错误。

    更多详情:

    在wdio配置文件中,我提到firefox为browserName。一旦测试开始,firefox就会启动并停留在" New Tab"页。它不会导航到URL。

    一段时间后(如:60秒后),在wdio日志中,我可以看到ERROR: connection refused。此外,Firefox最终也不会退出。

    注意:如果将browserName更改为chrome,则相同的测试工作正常。

    WDIO配置文件功能部分:

    ...capabilities: [{
    
        maxInstances: 5,
        //
        browserName: 'firefox',
        marionette: true,
    }],...
    

1 个答案:

答案 0 :(得分:2)

经过一番研究后,我自己能够解决这个问题。

问题是版本不匹配。

geckoDriver verison为0.20.0,我使用的firefox版本为52

我将firefox升级到最新版本。即版本59,我能够成功运行测试。

根据geckoDriver版本0.19.0的发行说明

Note that with geckodriver v0.19.0 the following versions are recommended:
Firefox 55.0 (and greater)
Selenium 3.5 (and greater)

所以我理解更高版本也应具有相同的属性。