如何避免在Angular测试阶段出现以下问题:Chrome Headless has not capture in 60000 ms, kill

问题描述

它通常只发生在 Jenkins 中,在我看来 Karma 正在尝试启动测试,而生成包的过程正在完成,所以我想知道是否有办法让 Karma 使用现有捆绑包,或者先生成一个捆绑包,然后使用该捆绑包启动 karma。

错误

[2021-06-10T15:51:24.567Z] [Exec Stream Pumper] [INFO] - Generating browser application bundles...
[2021-06-10T15:51:25.504Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:51:25.405:INFO [karma-server]: Karma v6.1.2 server started at http://localhost:9876/
[2021-06-10T15:51:25.504Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:51:25.409:INFO [launcher]: Launching browsers ChromiumHeadless with concurrency unlimited
[2021-06-10T15:51:25.504Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:51:25.423:INFO [launcher]: Starting browser ChromiumHeadless
[2021-06-10T15:52:26.231Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:52:26.168:WARN [launcher]: ChromiumHeadless have not captured in 60000 ms,killing.
[2021-06-10T15:52:33.103Z]  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFi[Exec Stream Pumper] [INFO] 10 06 2021 15:52:32.846:INFO [launcher]: Trying to start ChromiumHeadless again (1/5).
[2021-06-10T15:53:48.835Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:53:47.634:WARN [launcher]: ChromiumHeadless have not captured in 60000 ms,killing.
[2021-06-10T15:53:51.370Z] [Exec Stream Pumper] [INFO] 10 06 2021 15:53:51.295:INFO [launcher]: Trying to start ChromiumHeadless again (2/5).
[2021-06-10T15:54:48.318Z] [Exec Stream Pumper] [INFO] ✔ browser application bundle generation complete.

我不知道这是否与生成包需要 3 分钟这一事实有关。

package.json

"karma": "~6.1.0","karma-chrome-launcher": "~3.1.0","karma-coverage": "~2.0.3","karma-coverage-istanbul-reporter": "~3.0.2","karma-jasmine": "~4.0.0","karma-jasmine-html-reporter": "^1.5.0","karma-junit-reporter": "^2.0.1","karma-spec-reporter": "0.0.32"

解决方法

这也在本地发生吗?你有多少单元测试?

尝试在 karma-chrome-launcher 中更新 karmapackage.json

如果它只发生在 Jenkins,那么我认为您需要在 Jenkins 上使用具有更好 CPU 和更多 RAM 的计算机/代理。