首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于詹金斯角6的无头铬问题

关于詹金斯角6的无头铬问题
EN

Stack Overflow用户
提问于 2020-05-27 12:31:49
回答 1查看 3.1K关注 0票数 0

我正在使用Karma运行角6单元测试,下面是我的配置:

karma.conf.js :

代码语言:javascript
复制
module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    customLaunchers: {
      CustomHeadlessChrome: {
        base: "ChromeHeadless",
        flags: [
          "--headless", 
          "--disable-gpu", 
          "--disable-web-security", 
          "--disable-site-isolation-trials",
          "--remote-debugging-port-9222",
          "--no-sandbox"
        ]
      }
    },
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: true
  });
};

在运行测试时,我会遇到以下错误,因为-

代码语言:javascript
复制
[Cannot load browser "CustomHeadlessChrome": it is not registered! Perhaps you are missing some plugin?

在公共论坛上搜索之后,我发现下面的资源说明这是一个依赖问题- 无法加载浏览器"ChromeHeadless":它没有注册!

因此,我将karma-chrome-launcher的依赖版本更改为2.2.0。但问题仍然存在。我也试图升级业力相关的依赖,但问题仍然存在。

有谁能帮忙吗?

下面是我在devDependencies中的package.json部分:

代码语言:javascript
复制
"devDependencies": {
    "@angular-devkit/build-angular": "^0.11.2",
    "@angular/cli": "^6.0.3",
    "@angular/compiler-cli": "^6.0.3",
    "@angular/language-service": "^6.0.3",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/jquery": "^3.3.0",
    "@types/node": "^6.0.101",
    "codelyzer": "^4.1.0",
    "jasmine-core": "^2.6.4",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "^1.7.1",
    "karma-chrome-launcher": "^2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.4.3",
    "karma-jasmine": "^1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "^5.4.1",
    "ts-node": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "^2.7.2"
  }
EN

回答 1

Stack Overflow用户

发布于 2020-12-16 13:55:39

在位于角项目主目录中的karma.conf.js中,编辑文件并更改行:

代码语言:javascript
复制
browsers: ['Chrome'],

代码语言:javascript
复制
browsers: ["ChromeHeadlessNoSandbox"],

除了karma.conf.js中的“浏览器”配置外,还需要具有以下最小配置的"customLaunchers“配置:

代码语言:javascript
复制
customLaunchers: {
  ChromeHeadlessNoSandbox: {
    base: "ChromeHeadless",
    flags: ["--no-sandbox"]
  }
},

对我来说这个解决方案很好..。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62043210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档