e2e-testing - 赛普拉斯测试项目清单。没有收到任何物品时出错?
问题描述
我想知道这种情况:
我有一个记录列表,列出项目,我想对这些项目做点什么。问题是,我相信当我查询项目时,有时我可能有零个项目,而其他时候我不会。
当我没有任何项目时,cy.get 或 cy.get(..).find(..) 将超时并且测试将失败,但我不希望它失败,但继续。
我试图将 cy.get/cy.get.find 与每个链接在一起,但我认为这是不可能的。
解决方案
您需要的是if
代码中的一个。在测试中设置条件不是最佳做法,但有时这是最好的。
要使用 if 子句,您可以使用以下语法:
cy.get('body').then($body => {
if ($body.find('<ELEMENT_YOUR_LOOKING_FOR').length === 1) {
// action you want to perform on the list
}
})
这样,如果没有找到元素,测试就不会失败,它会简单地不执行if
. 但是如果找到了元素,就会执行动作。
推荐阅读
- reactjs - 用户进入页面时如何自动单击按钮
- excel - 保存宏以便可以更新文件
- nginx - Node.js 应用程序使用服务器 IP 但不使用域名
- windows - 检查 PATH 中是否存在程序
- c# - ID不同的Linq Count
- angular - NullInjectorError:没有 InjectionToken angularfire2.app.options 的提供者
- ios - 如何在不执行任何操作的情况下实现 TouchID。IOS迅捷
- solr - 如何在 Solr 中重新索引数据而不删除
- excel - 在 IF 语句中使用通配符
- c# - 将字节数组中的数据存储到队列中,然后转换为字符数组