簡體   English   中英

Docker selenium / node-chrome - 量角器找不到Chrome二進制文件

[英]Docker selenium/node-chrome - Protractor can not find Chrome binary

我是Docker的新手,但不是E2E量角器。 我正在嘗試用docker容器構建E2E集成。

使用Docker跟隨Angular的量角器烹飪書

他們有第2步 - 啟動Selenium節點

docker run -d --link selenium-hub:hub selenium/node-chrome:latest

我了解Selnium Grid的功能 - 它允許通過與網格通信來測試不同類型的瀏覽器。

當我有這個運行Proteror的docker容器不使用它作為chrome二進制文件時我得到WebDriverError: unknown error: cannot find Chrome binary

如何使量角器使用此node-chrome容器而不是本地chrome二進制文件?

我的量角器配置:

exports.config = {
  framework: 'mocha',
  directConnect: true,
  seleniumAddress: 'http://localhost:4444/wd/hub', // I have this set to the grid docker container from Angular cookbook
  specs: ['./stories/*.js'],
  onPrepare: function() {
    expect = require("chai").use(require("chai-as-promised")).expect;
  },
  mochaOpts: {
    enableTimeouts: false,
    reporter: "spec",
    slow: 7000
  },
  capabilities: {
    browserName: 'chrome'
  }
}

這就是我在無頭服務器(非xvfb-run node_modules/protractor/bin/protractor e2e/protractor.conf.js )上運行量角器的方法xvfb-run node_modules/protractor/bin/protractor e2e/protractor.conf.js

我發現了問題...我在量角器配置中刪除了directConnect: true ,這使得它可以在沒有本地chrome二進制文件的情況下運行。 解決方案是將其false或刪除它。

來自docs:

directConnect:true - 您的測試腳本直接與Chrome驅動程序或Firefox驅動程序通信,繞過任何Selenium Server。 如果是這樣,將忽略seleniumAddress和seleniumServerJar的設置。 如果您嘗試使用Chrome或Firefox以外的瀏覽器,則會引發錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM