在 Chrome 中加速测试 运行

Speed up tests run in Chrome

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

目前没有办法做到这一点,但是 an issue 可以恢复对它的支持。关注更新。

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

在 Mac 上更有效的手动技巧是将 chrome window 置于屏幕外的 space 中的全屏模式。

每次启动测试套件时都需要额外单击一次,但如果您正在观看测试,则只需单击一次。您将获得所有性能改进,而不必担心将 chrome 置于前台。