使用量角器无头图像时出现奇怪的错误

时间:2016-09-01 21:16:47

标签: google-chrome docker protractor selenium-chromedriver headless

我收到此错误:

$ docker run -it --privileged --rm --net=host -v /dev/shm:/dev/shm -v $(pwd):/protractor webnicer/protractor-headless src/test/e2e/config/local-config.js
[20:21:32] I/local - Starting selenium standalone server...
[20:21:32] I/launcher - Running 1 instances of WebDriver
[20:21:35] I/local - Selenium standalone server started at http://192.168.65.2:47981/wd/hub
[20:22:00] E/launcher - null
[20:22:00] E/launcher - WebDriverError: null
    at WebDriverError (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5)
    at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13)
    at client_.send.then.response (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11)
    at ManagedPromise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25)
    at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:329:24)
    at Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24)
    at Local.DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)
    at Runner.createBrowser (/usr/local/lib/node_modules/protractor/built/runner.js:190:43)
    at /usr/local/lib/node_modules/protractor/built/runner.js:264:30
    at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13)
    at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:604:44
    at runSingle (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:137:13)
[20:22:00] E/launcher - Process exited with error code 199

这是Protractor配置文件:

var Jasmine2HtmlReporter = require('../../../main/webapp/node_modules/protractor-jasmine2-html-reporter');

exports.config = {

  chromeDriver: '../../../main/webapp/node_modules/protractor/selenium/chromedriver',

  seleniumServerJar: '../../../main/webapp/node_modules/protractor/selenium/selenium-server-standalone-2.47.1.jar',

  onPrepare: function() {
    global.nodeModulesPath = '../../main/webapp/node_modules/';
    global.mongoConnection = '127.0.0.1:27017';
    global.dbName = 'DBName';

    jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({
      savePath: 'e2eResults/',
      screenshotsFolder: 'screenshots',
      takeScreenshots: true,
      takeScreenshotsOnlyOnFailures: true
    }));

    var width = 1280;
    var height = 768;
    browser.driver.manage().window().setSize(width, height);
  },

  framework: 'jasmine2',

  baseUrl: 'http://localhost:8080/my-app/',

  specs: ['../tests/**/*.spec.js'],

  restartBrowserBetweenTests: false,

  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    isVerbose: true,
    includeStackTrace: true
  }
};

配置文件看起来不错,所以我不确定为什么我会遇到这个错误。图像为https://hub.docker.com/r/webnicer/protractor-headless/

任何人都面临同样的问题?

0 个答案:

没有答案