是否可以等到元素可见?
cy.get('[data-test=submitIsVisible]').should('be.visible');
如果提交按钮不可见,则应该错误。我想等到提交按钮可见。(主要用例是视觉测试,即截取页面截图)
您可以像这样等待元素可见:
// Give this element 10 seconds to appear
cy.get('[data-test=submitIsVisible]', { timeout: 10000 }).should('be.visible');
根据赛普拉斯的文档:
DOM
基于命令的命令将自动重试,并在失败之前等待其相应元素存在。
赛普拉斯为您提供了许多健壮的查询方法DOM
,所有方法都包含重试和超时逻辑。
等待元素在中存在的其他方法DOM
是通过timeouts
。赛普拉斯命令default timeout
的持续时间为4秒,但是,大多数赛普拉斯命令具有可自定义的timeout
选项。超时可以全局配置,也可以基于每个命令配置。
在某些情况下,您的DOM
元素将不可操作。赛普拉斯为您提供了一个强大的{force:true}
选项,您可以将其传递给大多数动作命令。