加速测试在Chrome中运行

时间:2015-06-12 16:00:46

标签: javascript macos google-chrome karma-runner

这基于this question,发现当Chrome不在前台时,测试运行速度非常慢。任何人都知道如何解决这个问题,以便我可以继续使用Chrome,但不必将其保留在前台吗?

3 个答案:

答案 0 :(得分:2)

在无头模式下运行chrome。我已经看到了出色的性能提升。

gulp.task('test-headless-chrome', function (done) {
  process.env.DISPLAY=':95';

  withXvfb(function(stop) {
    server.start({
      configFile: __dirname + '/../karma/karma.conf.js',
      singleRun: true
    }, function() {
      stop();
      done();
    });
  });
});

function withXvfb(op) {
    var child = spawn('Xvfb', [':95', '-ac', '-screen', '0', '1600x1200x24'], {
            stdio: 'inherit'
    });

    setTimeout(op(function() {
        console.log("Killing Xvfb...")
        child.kill();
    }),3000);
}

答案 1 :(得分:2)

适用于Mac的更多手动技巧是将Chrome窗口全屏模式放在屏幕外的空间中。

每次启动测试套件都需要额外点击,但如果您正在观看测试,那么您只需要执行一次。您可以获得所有性能改进,而不必担心将chrome保留在前台。

答案 2 :(得分:1)

目前无法做到这一点,但有an issue来支持它。关注更新。