首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome 83与Karma断开连接的HeadlessChrome

Chrome 83与Karma断开连接的HeadlessChrome
EN

Stack Overflow用户
提问于 2020-06-22 08:40:18
回答 2查看 8.4K关注 0票数 6

我使用KarmaSinonMocha进行一些单元测试。它运转良好,一个月来,我在运行这些单元测试时遇到了一些问题。我在HeadlessChrome上出错了。实际上,它显示了这个错误:

代码语言:javascript
复制
HeadlessChrome 83.0.4103 (Windows 10.0.0) ERROR
Disconnected, because no message in 30000 ms.

我有这样的业力配置:

代码语言:javascript
复制
module.exports = function (config) {
  config.set({
    // Others configs
    ...
    port: 9876,
    browsers: ['ChromeHeadlessNoSandbox'],
    customLaunchers: {
      ChromeHeadlessNoSandbox: {
        base: 'ChromeHeadless',
        flags: [
          '--no-sandbox', // required to run without privileges in docker
          '--user-data-dir=/tmp/chrome-test-profile',
          '--disable-web-security'
        ]
      }
    },
    captureTimeout: 10000,
    plugins: [
      'karma-mocha', 'karma-mocha-reporter', 'karma-junit-reporter', 'karma-chrome-launcher',
      'karma-typescript', 'karma-html-reporter'
    ]
  });
};

我找到了两种解决方法:

browser.

  • Change
  • 降级到81版。
  • 在本地主机中打开一个页面:9876在中,业力配置(浏览器和标志属性):

代码语言:javascript
复制
module.exports = function (config) {
  config.set({
    // Others configs
    ...
    port: 9876,
    browsers: ['Chrome'],
    flags: [
      '--no-sandbox', // required to run without privileges in docker
      '--user-data-dir=/tmp/chrome-test-profile',
      '--disable-web-security'
    ],
    captureTimeout: 10000,
    plugins: [
      'karma-mocha', 'karma-mocha-reporter', 'karma-junit-reporter', 'karma-chrome-launcher',
      'karma-typescript', 'karma-html-reporter'
    ]
  });
};

我怎么能再次使用ChromeHeadless呢?的确,这很好,因为所有单元测试都是在后台运行的,而现在它打开浏览器,执行测试并关闭它。

EN

回答 2

Stack Overflow用户

发布于 2020-07-06 20:19:25

我们对我的工作也有同样的惊喜。我们的测试在6月底开始失败,这是一个新的Chrome 83稳定版本。

他们肯定弄坏了什么东西,你可以在这里跟进:https://bugs.chromium.org/p/chromium/issues/detail?id=1090988

编辑:

因此,要正确地回答,如果你能回到Chrome 83之前,就会暂时修复它。然而,我不知道我们这边的事情,我需要找到一个新的码头形象,这是不好的。

票数 3
EN

Stack Overflow用户

发布于 2020-07-10 17:00:52

我已经检查了问题在我的一端,我们可以通过使用puppeteer的铬箱来解决这个问题!

看看https://github.com/karma-runner/karma-chrome-launcher#headless-chromium-with-puppeteer怎么做的!

这样,我们就依赖于Chrome's Dev团队制造的更稳定的东西。

请注意,在执行npm install时,这将在每个人的计算机上安装一个新的Chrome二进制文件,但也会确保每个测试都针对相同的版本。

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

https://stackoverflow.com/questions/62510490

复制
相关文章

相似问题

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