Angular cli ChromeHeadless业力仍然打开浏览器

时间:2018-03-30 12:17:01

标签: angular karma-runner angular-test

我想使用ChromeHeadless和业力。我的配置是:

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
  });
};

当我运行测试时,我仍然需要打开浏览器。以下是我从业力控制台获得的内容:

  

Karma v2.0.0服务器在http://0.0.0.0:9876/

启动

2 个答案:

答案 0 :(得分:2)

尝试将此属性添加到karma.conf.jsReference

customLaunchers: {
  ChromeHeadless: {
    base: 'Chrome',
    flags: [
      '--no-sandbox',
      '--headless',
      '--disable-gpu',
      '--remote-debugging-port=9222'
    ]
  }
}

答案 1 :(得分:1)

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