Angular Karma 测试 - 浏览器 属性 作为 Chrome 与 ChromeHeadless

Angular Karma Testing - browser property as Chrome vs ChromeHeadless

我正在 Angular 9 项目中工作,我们正在 运行 与 Karma 进行测试。

任何人都可以向我解释将浏览器 属性(在 karma.conf.js 中)设置为 ChromeChromeHeadless 之间的区别吗?

唯一真实的我看到的是浏览器设置为Chrome,然后chromewindow会在我运行测试时自动打开,停留在我编辑测试时打开(实时更改,因为我将 autoWatch 属性 设置为 true 并将 singleRun 设置为 false)。当我停止终端中的测试时。 window 将关闭。我觉得很方便。

然后是 ChromeHeadless,除了我必须自己打开 chrome window(并在完成后关闭它)之外,它完成了上述所有操作。

这是唯一的区别吗?还有什么其他事情会让我选择一个而不是另一个吗?

通常当您使用像 Jenkins 这样的 CI(持续集成)系统来自动 运行 测试时,它没有 "interface" 到 运行 Chrome.因此,为了执行这些端到端测试,您需要通过 "simulation" 浏览器界面来执行它们。这就是 ChromeHeadless 发挥作用的时候了。它完全模拟了 Chrome 浏览器行为,但没有界面。