2

我想将 ChromeHeadless 与 karma 一起使用。我的配置是:

process.env.CHROME_BIN = require('puppeteer').executablePath();

module.exports = function( config ) {
  config.set({
    basePath                : '',
    frameworks              : ['jasmine', '@angular/cli'],
    plugins                 : [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('@angular/cli/plugins/karma')
    ],
    angularCli              : {
      environment: 'dev'
    },
    reporters               : ['progress'],
    autoWatch               : false,
    browsers: [
      'ChromeHeadless',
    ],
    singleRun               : true
  });
};

当我运行 ng test 时,我仍然需要打开浏览器。这是我从业力控制台得到的:

Karma v2.0.0 服务器启动于http://0.0.0.0:9876/

4

2 回答 2

5

尝试将此属性添加到您的karma.conf.js.Reference

customLaunchers: {
  ChromeHeadless: {
    base: 'Chrome',
    flags: [
      '--no-sandbox',
      '--headless',
      '--disable-gpu',
      '--remote-debugging-port=9222'
    ]
  }
}
于 2018-03-30T13:16:31.217 回答
1

如果您想将 Puppeteer 与 Karma 一起使用,您应该能够karma-chrome-launcher从插件数组中删除您的,因为 Puppeteer 应该自己处理所有事情,可能插件会导致意外行为!

于 2018-03-30T13:12:27.483 回答