【问题标题】:How to wait till all components are loaded in Cypress?如何等到所有组件都加载到赛普拉斯?
【发布时间】:2020-05-11 20:31:26
【问题描述】:

当我从指向 QA 的系统运行时,我的 Cypress 测试用例运行良好。但是来自 CI 的计划构建会随机失败,因为有时页面需要更多时间来加载。

我尝试过 cy.wait(1500) -> 它有时有效,有时失败。所以,我想知道 cypress 中是否有一个命令等待页面中的所有组件都加载完毕。而不是我在 cy.wait() 中尝试不同的值,而总有一天会失败?

【问题讨论】:

    标签: automation cypress


    【解决方案1】:

    默认情况下,赛普拉斯智能等待所有元素加载和页面呈现。本节确认: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,
    

    如果它仍然失败,那么你的测试环境有问题,可能是开发人员检查其性能的好时机,因为你不希望环境加载那么长时间,特别是如果它是生产的副本/现场直播。

    【讨论】:

    • 我有两棵柏树。 json 文件。一个直接在项目下,一个 cypress/cypress.json。我应该把这段代码放在哪一个?
    • 默认情况下,它应该在根目录下(例如在项目下)。另外,最好的找出方法是暂时删除项目下的那个,如果你的 cypress runner 不工作,那么这意味着它是正确的文件:)
    猜你喜欢
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 2019-12-14
    • 2020-12-23
    • 2020-08-23
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多