赛普拉斯:如何编写测试来处理缓慢的后端服务?

Cypress: How to write tests to handle slow backend services?

我正在研究 Cypress 测试集,预计用于验证从 STAGEDEMOPROD 的 React 网站。 React 组件是使用 Redux 从多个后端服务中提取数据生成的。

对于 DEMOPROD,后端服务的性能最佳,加载 React 组件的延迟最小,最多 5 秒。

对于 STAGE,React 组件的加载具有真正显着的延迟,从 30 秒到荒谬的 120 秒。然而,组件最终会呈现。

Cypress 测试在 DEMOPROD 上都能 100% 正常工作。我将 cypress.json 中的默认 timeout 设置为 60000 ms,但这些部署环境不需要这么长的默认超时。

然而,相同的 Cypress 在 STAGE 部署中针对相同的 React 站点进行 运行 测试,cy.visit()cy.get() 经常失败,甚至如果我将超时设置为 120000 ms。即使我将重试添加到 3,它也会失败。

那么,由于后端服务的响应不可预测,Cypress 等待 React 组件加载的最佳方式应该如何解决?

谢谢,非常感谢您的帮助

@MarionMorrison @AlapanDas,感谢您的回复

我确实在另一个帖子中解决了这个问题,当时我没有意识到是同一个问题:

我一直在使用这两个 Cypress contains and npm cypress-wait-until 来解决等待后端服务响应缓慢的问题。