【问题标题】:Running Angular cli e2e tests in headless Chrome with travis ci使用 travis ci 在无头 Chrome 中运行 Angular cli e2e 测试
【发布时间】:2018-01-10 16:29:34
【问题描述】:

我正在尝试使用 Chrome 的新无头浏览器模式在 Travis ci 上运行角度测试,但在使用 npm run e2e (ng e2e) 运行我的量角器 e2e 测试时遇到错误。不过,使用 npm test (ng test --watch=false) 运行我的单元测试效果很好。

特拉维斯配置:

sudo: false
dist: trusty

language: node_js
node_js:
  - '6.11'

addons:
  chrome: stable

install:
  - npm install -g @angular/cli
  - npm install

script:
  - npm test
  - npm run e2e

notifications:
  webhooks:
    on_success: change
    on_failure: always
    on_start: false

量角器配置:

const { SpecReporter } = require('jasmine-spec-reporter');

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './e2e/**/*.e2e-spec.ts'
  ],
  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
      args: ['--headless', '--disable-gpu', '--window-size=800x600']
    }
  },
  directConnect: true,
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  },
  onPrepare() {
    require('ts-node').register({
      project: 'e2e/tsconfig.e2e.json'
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

特拉维斯错误

webpack: Compiled successfully.
[03:23:26] I/file_manager - creating folder /home/travis/build/kpfromer/smarttodo-angular/node_modules/protractor/node_modules/webdriver-manager/selenium
[03:23:26] I/update - chromedriver: unzipping chromedriver_2.35.zip
[03:23:27] I/update - chromedriver: setting permissions to 0755 for /home/travis/build/kpfromer/smarttodo-angular/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.35
[03:23:27] I/launcher - Running 1 instances of WebDriver
[03:23:27] I/direct - Using ChromeDriver directly...
[03:24:27] E/launcher - unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.12-041412-generic x86_64)
[03:24:27] E/launcher - WebDriverError: unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.12-041412-generic x86_64)
    at WebDriverError (/home/travis/build/kpfromer/smarttodo-angular/node_modules/selenium-webdriver/lib/error.js:27:5)
    at Object.checkLegacyResponse (/home/travis/build/kpfromer/smarttodo-angular/node_modules/selenium-webdriver/lib/error.js:505:15)
    at parseHttpResponse (/home/travis/build/kpfromer/smarttodo-angular/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/home/travis/build/kpfromer/smarttodo-angular/node_modules/selenium-webdriver/lib/http.js:440:13)
    at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: WebDriver.createSession()
...

【问题讨论】:

    标签: angular google-chrome protractor angular-cli travis-ci


    【解决方案1】:

    这是 google chrome 的沙盒模式 导致 chrome 无法创建会话的问题。

    您需要禁用它。

    量角器配置示例:

    const { SpecReporter } = require('jasmine-spec-reporter');
    
    exports.config = {
      allScriptsTimeout: 11000,
      specs: [
        './e2e/**/*.e2e-spec.ts'
      ],
      capabilities: {
        'browserName': 'chrome',
        chromeOptions: {
          args: ['--headless', '--disable-gpu', '--window-size=800,600', '--no-sandbox']
        }
      },
      directConnect: true,
      baseUrl: 'http://localhost:4200/',
      framework: 'jasmine',
      jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: function() {}
      },
      onPrepare() {
        require('ts-node').register({
          project: 'e2e/tsconfig.e2e.json'
        });
        jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
      }
    };
    

    a similar GitHub issue.

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 2017-04-22
      • 2018-07-21
      • 1970-01-01
      • 2020-07-27
      • 2016-05-09
      • 2019-12-10
      • 1970-01-01
      相关资源
      最近更新 更多