几天来,我们一直在调试失败的柏树测试,似乎无法缩小原因。这些测试在我们的GitLab CICD管道中运行。
我们在日志中看到的错误:
未捕获(承诺):TypeError:无法将undefined或null转换为 object \ nTypeError:无法将undefined或null转换为object \ n MapSubscriber.project中的Function.keys()\ n (http:// localhost:49152 / main.2e49092b1a3db7b9c078.js:8506:28)\ n在 MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / operators / map.js.MapSubscriber._next ...
我们添加了一个cypress插件,如果它们失败,它将重新运行任何测试,并且总是第二次通过。每次失败都不相同的测试,它会有所不同。发生这种故障似乎是因为上述错误导致页面无法呈现,但不清楚该错误是什么原因。
我们注意到Firefox中的测试通过了,因此我们只会在基于无头铬/铬的浏览器中看到此错误。
有什么想法我们可以看一下以找出问题所在吗?
答案 0 :(得分:1)
在向赛普拉斯前端添加日志记录包后,我们得到了一个更有用的错误。
错误(网络):无法加载资源:net :: ERR_INSUFFICIENT_RESOURCES
事实证明,这是赛普拉斯的一个未解决的问题,其中Chrome占用了过多的内存并导致Docker崩溃。
问题和解决方法发布在这里:https://github.com/cypress-io/cypress/issues/7457
跟随https://docs.cypress.io/guides/guides/continuous-integration.html#In-Docker,然后在我们的docker容器上设置--ipc = host [将]停止该问题。