【发布时间】:2020-08-25 13:28:56
【问题描述】:
我有问题。我想尝试为 60 秒超时找到一个元素 (1)。如果赛普拉斯找不到它,那么它不能以失败测试结束,而是点击其他元素(2),然后截图并以失败结束
这是因为如果找不到此元素(1),则意味着应用程序中的某些功能失败。单击第二个元素 (2) 后,我会找到问题所在以及为什么会这样结束。那是因为我想要那个截图。
有谁知道解决这个问题吗?
【问题讨论】:
我有问题。我想尝试为 60 秒超时找到一个元素 (1)。如果赛普拉斯找不到它,那么它不能以失败测试结束,而是点击其他元素(2),然后截图并以失败结束
这是因为如果找不到此元素(1),则意味着应用程序中的某些功能失败。单击第二个元素 (2) 后,我会找到问题所在以及为什么会这样结束。那是因为我想要那个截图。
有谁知道解决这个问题吗?
【问题讨论】:
我认为这应该实现您正在寻找的 -
cy.get("body").then(($body) => {
// synchronously query for element
if ($body.find("element").length == 0) {
cy.get('locator').click()
cy.screenshot(filename)
}
else {
// do something else
}
})
【讨论】:
"defaultCommandTimeout": 60000,这样 cypress 命令会在超时前默认等待 1 分钟。