量角器独立selenium失败:错误:等待WebDriver服务器的超时时间

时间:2013-12-12 22:54:42

标签: selenium protractor

我在独立的selenium服务器上安装了量角器:

webdriver-manager update

如果我在独立服务器已经运行并且配置指向该selenium实例的情况下运行量角器,它可以正常工作。

我想让量角器启动服务器,然后运行测试。 默认情况下,量角器找到chrome驱动程序和selenium服务器jar,所以我使用的是最小配置:

exports.config = {
    capabilities: {
        'browserName': 'chrome'
    },
    specs: ['test/e2e/*.js']
};

但是当它启动时它无法连接到服务器。

Error: Timed out waiting for the WebDriver server at http://192.168.1.146:56159/
wd/hub

我注意到当使用webdriver-manager启动seleniumn时,服务器在localhost上启动。 我似乎无法让量角器做同样的事情。

我的猜测是防火墙阻止了连接。

环境版本信息:   - 咕噜v0.4.1
  - 节点0.10.18   - selenium-server-standalone-2.37.0.jar   - selenium-server-standalone-2.38.0.jar   - 量角器0.14.0   - windows 7 Pro

2 个答案:

答案 0 :(得分:3)

将服务器添加到您的配置中:

exports.config = {
  // The address of a running selenium server.
  seleniumAddress: 'http://localhost:4444/wd/hub',

  capabilities ...
}

答案 1 :(得分:1)

如果您只需要适用于Chrome的独立服务器,则可以使用Selenium ChromeDriver可执行文件。 webdriver-manager update --chrome应该为您做到这一点,或者如果您是公司VPN或代理的后面,您可以从http://chromedriver.storage.googleapis.com/2.9/chromedriver_win32.zip手动下载到C:\Users\*your-user-name*\AppData\Roaming\npm\node_modules\protractor\selenium(量角器0.22.0匹配chromedriver 2.9)。 ChromeDriver的版本不正确,例如2.10,确实可以导致Error: Timed out waiting for the WebDriver server at ...

您的配置文件应如下所示:

exports.config = {
  chromeOnly: true,
  chromeDriver: '../selenium/chromedriver',
  capabilities: {
    'browserName': 'chrome'
  },
  specs: ['test/e2e/*.js'],
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000
  }
};