我已经使用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
我的配置文件如下所示:
exports.config = {
specs: [
'test/*.js'
],
capabilities: {
'browserName': 'chrome'
},
seleniumAddress: 'http://127.0.0.1:4444/wd/hub'
};
我也尝试过指向功能对象中的二进制文件,以及添加chromeDriver和seleniumServerJar键无济于事。有什么想法吗?
答案 0 :(得分:10)
根据relevant github issue,问题是 chromedriver
找不到chrome
浏览器可执行 - 在{{3}中搜索的不同操作系统上}}
您需要安装 chrome ,chromedriver
期望它,或者在chrome
设置中指定binary
可执行的路径:< / p>
capabilities: {
"browserName": "chrome",
"chromeOptions": {
binary: "D:/Program Files/Chrome/chrome.exe",
args: [],
extensions: [],
}
},
答案 1 :(得分:0)
我使用JHipster生成了代码,并且在e2e无法正常工作时出现了类似的错误。我提供了二进制路径。但是在npm run e2e
上,浏览器打开并在地址栏中显示data;
。
我重新整理并在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"
}
}
注意:当发生不支持的Webdriver版本错误时,我还必须更新chrome版本。