问题 运行我的Karma测试后,为什么Chrome 35会断开连接?


我有一个Karma测试套件,在Firefox和Chrome 34中运行良好。Chrome自动升级到35,测试运行后我收到此错误:

警告[Chrome 35.0.1916(Mac OS X 10.9.2)]:断开连接(1次),   因为在10000毫秒内没有消息。

Chrome 35.0.1916(Mac OS X 10.9.2):执行712 of 712 DISCONNECTED   (14.836秒/ 5.021秒)

测试全部运行并通过,但Chrome断开连接导致套件失败。

我们在OS X Mavericks上运行Grunt的测试。

这是我们的配置:

module.exports = function (config) {
  config.set({
    port: 9876,
    captureTimeout: 60000,
    frameworks: ['jasmine'],
    basePath: 'app/build',
    singleRun: true,
    browsers: [
      'Chrome',
      'Firefox'
    ],
    plugins: [
      'karma-jasmine',
      'karma-coverage',
      'karma-story-reporter',
      'karma-phantomjs-launcher',
      'karma-firefox-launcher',
      'karma-chrome-launcher'
    ],
    files: [
      // lots of files
    ],
    exclude: [
      '**/*.scenario.js'
    ],
    reporters: ['coverage', 'dots'],
    preprocessors: {
      '!(bower_components)/**/!(*.spec).js': 'coverage'
    },
    coverageReporter:  {
      type: 'cobertura',
      dir: '../coverage',
      file: 'coverage.xml'
    }
  });
};

6606
2018-05-22 10:00


起源

你找到了解决方案吗?我有同样的问题,它让我发疯! - mylescc
我已经看到其他项目的测试套件在Chrome 35和36中正常工作,所以我认为这可能是我们特定测试套件的问题。我怀疑异步过程会以某种方式阻止Chrome正常退出。 - afternoon
是的,我认为它必须只是我环境中的一些东西。现在转移到使用phantomJS。感谢更新! - mylescc


答案:


请在karma.conf.js文件中添加browserNoActivityTimeout。默认为10000毫秒。我有一个类似的问题。 Chrome似乎需要一些时间才能加载并通知业力。我将超时时间增加到30000并解决了这个问题。


12
2018-06-04 01:35



感谢你的回答。我补充道 browserNoActivityTimeout: 30000 到我们的配置,但得到了相同的结果。 WARN [Chrome 35.0.1916 (Mac OS X 10.9.3)]: Disconnected (1 times), because no message in 30000 ms. Chrome 35.0.1916 (Mac OS X 10.9.3): Executed 714 of 714 DISCONNECTED (33.361 secs / 3.561 secs) - afternoon
不确定您可能需要设置多长时间。尝试使用它,看看会发生什么。 - sakadas
Chrome没有做任何事情。我不确定这是一个超时问题。 - afternoon
+1 这样做对我来说。谢谢@iSakada。 - Sergio
这对我有帮助!谢谢! - JP Richardson