温馨提示:本文翻译自stackoverflow.com,查看原文请点击:cypress - How to wait for element to be visible
cypress

cypress - 如何等待元素可见

发布于 2020-04-18 22:17:45

是否可以等到元素可见?

cy.get('[data-test=submitIsVisible]').should('be.visible');如果提交按钮不可见,则应该错误。我想等到提交按钮可见。(主要用例是视觉测试,即截取页面截图)

查看更多

提问者
KayakinKoder
被浏览
153
Manuel Abascal 2020-02-05 05:58

您可以像这样等待元素可见:

// 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}选项,您可以将其传递给大多数动作命令。