赛普拉斯测试偶尔失败

时间:2020-10-06 22:40:05

标签: angular gitlab cypress

几天来,我们一直在调试失败的柏树测试,似乎无法缩小原因。这些测试在我们的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中的测试通过了,因此我们只会在基于无头铬/铬的浏览器中看到此错误。

有什么想法我们可以看一下以找出问题所在吗?

1 个答案:

答案 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 [将]停止该问题。