我有一个动态表,其中某些行可以处于活动状态,也可以不处于活动状态,因此我只需要单击可用的行。即使我仅单击可用的行,我仍然会收到错误,因此我还必须断言,不会显示任何错误消息。 简而言之,我必须遍历表行并找到一个不会触发任何错误的行,然后继续进行下一个测试步骤。 我按照赛普拉斯文档中的建议进行了尝试,但是我无法打破在then()块内返回“ false”的每个循环
cy.get('#table')
.find('tr').each(($tr) => {
if ($tr.attr('class') != 'not-avail') {
cy.get($tr).click()
cy.get('.blocker > .q-spinner').should('not.be.visible')
return cy.get('body').then(($body) => {
if (!$body.find('#error').length) {
return false
}
})
}
})
我也尝试了这种变体,但是当没有错误消息显示时,它未能通过测试
cy.get('#table')
.find('tr').each(($tr) => {
if ($tr.attr('class') != 'not-avail') {
cy.get($tr).click()
cy.get('.blocker > .q-spinner').should('not.be.visible')
const $body = cy.get('body')
if (!$body.find('#error').length) {
return false
}
}
})