【发布时间】:2019-07-18 01:18:18
【问题描述】:
我正在尝试让 'ng e2e' 工作,但是,我遇到了一个错误。
WebDriverError: unknown error: cannot find Chrome binary
我使用预装 Angular CLI 的量角器。我已经再次安装了 ChromeDriver 的二进制文件,我也尝试使用不同的浏览器和不同的驱动程序,但我总是得到同样的错误。 Selenium 服务器已启动并运行并且工作正常,只是找不到 ChromeDriver 的二进制文件。有谁知道解决方案?我使用 chromedriver_2.33 和 Angular 4。
这是错误:
[10:39:39] I/update - chromedriver: chromedriver_2.33 up to date
[10:39:39] I/launcher - Running 1 instances of WebDriver
[10:39:39] I/direct - Using ChromeDriver directly...
[10:39:40] E/launcher - unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform=Mac OS X 10.12.5 x86_64)
[10:39:40] E/launcher - WebDriverError: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform=Mac OS X 10.12.5 x86_64)
at Object.checkLegacyResponse (/Users/viddrawings/simaxx_portal_repo/simaxx-front-end/src/main/webapp/node_modules/selenium-webdriver/lib/error.js:505:15)
at parseHttpResponse (/Users/viddrawings/simaxx_portal_repo/simaxx-front-end/src/main/webapp/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/Users/viddrawings/simaxx_portal_repo/simaxx-front-end/src/main/webapp/node_modules/selenium-webdriver/lib/http.js:440:13)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:169:7)
量角器配置:
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
beforeLaunch: function() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
}
onPrepare() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
【问题讨论】:
-
chrome 安装了吗?
-
是的,Chrome 已安装,但我在 Mac 上工作。
-
您是否对量角器配置进行了更改?如果是这样,请分享您的配置。还有,你是怎么重装驱动的?你是用
webdriver-manager clean然后webdriver-manager update吗? -
我将在这里添加我的配置。我确实使用了您建议的命令,但由于某种原因它根本不起作用。命令被执行,但它不能解决我的问题:(
-
chrome 是安装在默认位置还是自定义位置?看起来在默认安装位置找不到它。另外,您需要确保二进制 chrome 的路径包含在
etc/paths中。
标签: angular selenium selenium-webdriver protractor selenium-chromedriver