我在独立的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
答案 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
}
};