【发布时间】:2020-05-11 20:31:26
【问题描述】:
当我从指向 QA 的系统运行时,我的 Cypress 测试用例运行良好。但是来自 CI 的计划构建会随机失败,因为有时页面需要更多时间来加载。
我尝试过 cy.wait(1500) -> 它有时有效,有时失败。所以,我想知道 cypress 中是否有一个命令等待页面中的所有组件都加载完毕。而不是我在 cy.wait() 中尝试不同的值,而总有一天会失败?
【问题讨论】:
标签: automation cypress
当我从指向 QA 的系统运行时,我的 Cypress 测试用例运行良好。但是来自 CI 的计划构建会随机失败,因为有时页面需要更多时间来加载。
我尝试过 cy.wait(1500) -> 它有时有效,有时失败。所以,我想知道 cypress 中是否有一个命令等待页面中的所有组件都加载完毕。而不是我在 cy.wait() 中尝试不同的值,而总有一天会失败?
【问题讨论】:
标签: automation cypress
默认情况下,赛普拉斯智能等待所有元素加载和页面呈现。本节确认:https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Cypress-is-Not-Like-jQuery
您可以在cypress.json 文件中包含最大超时时间,而不是在每个步骤中插入 cy.wait()(最佳做法是尽量减少使用):
"defaultCommandTimeout": 30000,
"pageLoadTimeout": 60000,
"requestTimeout": 60000,
如果它仍然失败,那么你的测试环境有问题,可能是开发人员检查其性能的好时机,因为你不希望环境加载那么长时间,特别是如果它是生产的副本/现场直播。
【讨论】: