7

我已经使用独立的 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 start 启动 seleniumn 时,服务器在 localhost 上启动。我似乎无法让量角器做同样的事情。

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

环境版本信息: - grunt v0.4.1
- 节点 0.10.18 - selenium-server-standalone-2.37.0.jar - selenium-server-standalone-2.38.0.jar - protractor 0.14.0 - windows 7 Pro

4

2 回答 2

3

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

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

  capabilities ...
}
于 2013-12-14T04:01:56.217 回答
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
  }
};
于 2014-05-08T14:33:24.750 回答