【问题标题】:Protractor selenium ChromeDriver Angular4量角器硒 ChromeDriver Angular4
【发布时间】: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


【解决方案1】:

我通过创建脚本解决了这个问题

/usr/local/bin/chrome

cd '/Applications/Google Chrome 3.app/Contents/MacOS/'
./'Google Chrome'

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多