如何检查元素是否存在,然后才使用Cypress运行测试



只有当某个元素使用其数据测试id存在时,我才想执行某些函数。

以下是我正在尝试做的事情:

cy.getByTestId('checkbox-id').then((el) => {
if (el) {
cy.tableSelectAll();
}
}

在这里,我希望它只在存在元素的情况下执行tableSelectAll()。但这并不能说明它找不到id为"的元素;复选框id";。

我该怎么解决这个问题?有人能帮我做这个吗?

你想遵循这个模式元素存在

cy.get('body')
.then(($body) => {
// synchronously query from body
// to find which element was created
if ($body.find('[data-testid="checkbox-id"]').length) {
// checkbox-id was found
cy.tableSelectAll()
}
})

您可以使用jquery方法.attr来检查属性data-testid的存在。

cy.get('checkbox-id').then(($ele) => {
if ($ele.attr('data-testid')) {
cy.tableSelectAll()
} else {
//Do something else
}
})

最新更新