javascript 量角器给出“无法启动 WebDriver 会话”错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/27493715/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Protractor gives "Unable to start a WebDriver session" error
提问by cgsd
I already have started a server with webdriver-manager start
, but I get this error when I try to run protractor:
我已经用 启动了一个服务器webdriver-manager start
,但是当我尝试运行量角器时出现此错误:
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
ERROR - Unable to start a WebDriver session.
C:\...\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113
var template = new Error(this.message);
^
UnknownError: unknown error: cannot find Chrome binary
My config file looks like this:
我的配置文件如下所示:
exports.config = {
specs: [
'test/*.js'
],
capabilities: {
'browserName': 'chrome'
},
seleniumAddress: 'http://127.0.0.1:4444/wd/hub'
};
I have also tried pointing to the binary in the capabilities object as well as adding chromeDriver and seleniumServerJar keys to no avail. Any ideas?
我还尝试指向功能对象中的二进制文件以及添加 chromeDriver 和 seleniumServerJar 键无济于事。有任何想法吗?
回答by alecxe
According to the relevant github issue, the problem is that chromedriver
cannot find chrome
browser executeable- on different operating systems it searches for it in different places.
根据相关的github issue,问题是chromedriver
找不到chrome
浏览器可执行文件——在不同的操作系统上,它在不同的地方搜索。
You need to either have chrome installedwhere chromedriver
expects it to be, or specify the path to the chrome
executeable in the binary
setting:
您需要将chrome 安装在chromedriver
预期的位置,或者chrome
在binary
设置中指定可执行文件的路径:
capabilities: {
"browserName": "chrome",
"chromeOptions": {
binary: "D:/Program Files/Chrome/chrome.exe",
args: [],
extensions: [],
}
},
回答by Shekhar Sahu
I generated code using JHipster and had similar error where e2e was not working. I provided binary path. But upon npm run e2e
the browser opened and displayed data;
in the address bar.
我使用 JHipster 生成了代码,并且在 e2e 无法正常工作时遇到了类似的错误。我提供了二进制路径。但是在npm run e2e
浏览器打开并显示data;
在地址栏中。
I shuffled and provided the binary at the end of chromeOptions after the args and it worked.
我在 args 之后的 chromeOptions 末尾改组并提供了二进制文件并且它起作用了。
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: process.env.JHI_E2E_HEADLESS
? [ "--headless", "--disable-gpu", "--window-size=800,600" ]
: [ "--disable-gpu", "--window-size=800,600" ],
binary: "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
}
}
Note: I also had to update the chrome version when an unsupported webdriver version error occurred.
注意:当发生不受支持的 webdriver 版本错误时,我还必须更新 chrome 版本。