我有一个scnearios,其中一个表上的元素从一个文本,例如'staging..'更改为一个日期,例如今天的日期'10/03/2023'。它不会自动更改,所以你必须点击应用按钮,看看它是否更改,它需要大约30 / 40秒的时间来更改。我想每8秒通过单击“应用"按钮检查一次,该列是否从”分期“更改为今天的日期。
所以我实现了如下代码-
在每8秒点击一次Apply按钮方面,代码工作正常。但是,由于Assert-cy.get('td').eq(1).contains(Staging...
)更改,代码失败。
有没有什么方法可以避免Assert并检查此条件,使其不会失败?
非常感谢!
3条答案
按热度按时间xoshrz7s1#
您可以结合使用递归和生成的JQuery元素来实现这一点。
jqjz2hbq2#
我将使用cypress-recurse来处理Cypress中的递归。
API有点棘手,总结如下
.contains()
这样的隐式Assert,否则递归将在第一次迭代时失败else
代码可以进入可选的post
回调如果反转逻辑,可以移除
post
,可复制示例
在本地服务器上运行此HTML
这是(类似的)测试
这是日志
u0sqgete3#
如果你不想测试在cy.contains()上失败,你可以集成条件测试: