关于 Angular Karma 测试:Angular Karma 测试 – 作为 Chrome 与 ChromeHeadless 的浏览器属性

Angular Karma Testing - browser property as Chrome vs ChromeHeadless

我在一个 Angular 9 项目中工作,我们正在使用 Karma 运行测试。

谁能向我解释将浏览器属性(在 karma.conf.js 中)设置为 ChromeChromeHeadless 之间的区别?

我看到的唯一真实情况是浏览器设置为 Chrome,然后在我运行测试时会自动打开一个 chrome 窗口,在我编辑测试时保持打开状态(因为我设置了 autoWatch 属性,所以会进行实时更改为 true 并且 singleRun 设置为 false)。当我在终端停止测试时。该窗口将关闭。这对我来说似乎很方便。

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

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


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