javascript - 为赛普拉斯期望断言设置超时
问题描述
我的问题是我想对赛普拉斯库的期望断言超时,但似乎无法找到这样做的方法。
我已经尝试大大增加 cypress.conf 中的全局超时;然而,这并没有奏效。
if ($widget.find('report-widget')) {
SVGCount++;
expect(barGraphsChange[index]).to.not.equal(undefined)
console.log(barGraphsChange, index)
cy.getBarGraphTotal(SVGCount, barGraphsChange[index])
}
如果不是超时,那么一个合理的解决方法也会很好,谢谢!
另请注意: barGraphsChange[index] 在此阶段早些时候正在从调用的自定义赛普拉斯命令进行计算和分配。
解决方案
您可以使用 自定义您的期望should()
,这将自动重试您的断言,无论是指定的超时时间,还是全局 defaultCommandTimeout(如果没有提供)。在您的情况下,我可能会想象包装您的对象,指定超时,然后将您的逻辑传递给应该:
cy.wrap(someFunction, {timeout: 25000}).should(someFunction => expect(someFunction()).to.eq(someValue))
在此处阅读更多信息:https ://docs.cypress.io/api/commands/should.html#Function
推荐阅读
- selenium - 无法通过 selenium webdriver 选中/取消选中复选框
- javascript - Bootstrap 3 控制 div 大小调整高度和宽度
- amazon-web-services - AWS Lambda 'Origin Request' 将 CF Country 'header' 发送到浏览器
- android - 有没有人在他们的 Android 应用中使用 Firebase 时加载时间过长
- php - 对多个表单使用多个提交按钮
- javascript - 关于开发随机颜色芯片放置按钮
- apache-kafka - 如何制作一个以kstream(Kafka流)及时工作的Spring云流处理器功能?
- c# - 从.net 5 web api中的两个表中获取所有数据?
- django - 运行时错误死锁在 Django 中随机发生
- r - ggplot 和 geom_sf 未在世界地图上显示刻度线和刻度线