如果 cypress 在显示错误元素未找到之前提供自动等待,为什么我们需要使用 cy.wait()?

问题描述 投票:0回答:1

我们知道我们可以在 cypress 中设置默认超时,如果元素不存在,cypress 将等待特定时间,然后返回错误元素未找到。

那我们为什么要用cy.wait()。 有没有我们必须使用 cy.wait() 的具体示例?

javascript cypress ui-automation cypress-cucumber-preprocessor cypress-testing-library
1个回答
1
投票

你是对的,你应该使用默认命令超时来等待元素。

cy.wait()
的主要用例是使用
cy.intercept()
等待拦截的网络调用。

通常你会看到类似下面的东西,所以测试执行不会继续,直到特定的网络响应返回。

cy.intercept('**/api/my-api').as('api');

// do something to trigger network call

cy.wait('@api').should(/* assert network response here */);

还有一个等待任意时间的用例,虽然这是一个反模式,通常不应该使用。

cy.wait(5000); // wait 5 seconds

来源:https://docs.cypress.io/api/commands/wait

© www.soinside.com 2019 - 2024. All rights reserved.