我们知道我们可以在 cypress 中设置默认超时,如果元素不存在,cypress 将等待特定时间,然后返回错误元素未找到。
那我们为什么要用cy.wait()。 有没有我们必须使用 cy.wait() 的具体示例?
你是对的,你应该使用默认命令超时来等待元素。
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