赛普拉斯:条件断言错误
Cypress: Conditional AssertionError
有没有办法在 AssertionError
出现时不中止测试 运行?
我的测试用例依赖于 CSS 值,如果我编写如下所示的条件,cypress
会以 AssertionError
:
停止
let dialog = cy.get('#privacy_dialog')
if (dialog.should('have.css', 'display', 'block')) {
// confirm the dialog if it is displayed
cy.get('#dialog_btn').click()
} else {
// process with login, because css in this case is "display: none;"
cy.get('#login_btn').click()
}
这样也行不通,因为那样我会得到另一个错误 TypeError $dialog.should is not a function
:
cy.get('#privacy_dialog').then(($dialog) => {
if ($dialog.should('have.css', 'display', 'block')) {
cy.get('#dialog_btn').click()
} else {
cy.get('#login_btn').click()
}
})
一种方法是使用 jquery 检查 if 条件中的 css 属性:
cy.get('#privacy_dialog').then(($dialog) => {
if ($dialog.css('display') == 'block') {
cy.get('#dialog_btn').click()
}
else {
cy.get('#login_btn').click()
}
})
有没有办法在 AssertionError
出现时不中止测试 运行?
我的测试用例依赖于 CSS 值,如果我编写如下所示的条件,cypress
会以 AssertionError
:
let dialog = cy.get('#privacy_dialog')
if (dialog.should('have.css', 'display', 'block')) {
// confirm the dialog if it is displayed
cy.get('#dialog_btn').click()
} else {
// process with login, because css in this case is "display: none;"
cy.get('#login_btn').click()
}
这样也行不通,因为那样我会得到另一个错误 TypeError $dialog.should is not a function
:
cy.get('#privacy_dialog').then(($dialog) => {
if ($dialog.should('have.css', 'display', 'block')) {
cy.get('#dialog_btn').click()
} else {
cy.get('#login_btn').click()
}
})
一种方法是使用 jquery 检查 if 条件中的 css 属性:
cy.get('#privacy_dialog').then(($dialog) => {
if ($dialog.css('display') == 'block') {
cy.get('#dialog_btn').click()
}
else {
cy.get('#login_btn').click()
}
})