使用cypress.io可以获得与给定CSS选择器匹配的HTML元素列表,如下所示:
cypress.get(".some-class")
如果在页面上找不到具有class
'some-class'
的元素,则测试失败。这是设计使然。
我想尝试获取上述HTML元素列表,但如果元素数量为0,则不会失败。
如何使用cypress.io实现此目标?
答案 0 :(得分:1)
您可以按照以下方式进行操作。这样可以使测试保持活力。
describe('test check element', function () {
it('testSelector reload', function () {
cy.visit('https://docs.cypress.io/api/utilities/$.html#Usage')
let found = false
let count=0
while (!found) {
const nonExistent = Cypress.$('.fake-selector')
if (!nonExistent.length) {
cy.reload()
found = false
count=count+1
cy.wait(1000)
if(count==5)
{
found = true
cy.log('Element not found after 5 seconds..Exit from loop!!!')
}
} else {
found = true
}
}
})
})
答案 1 :(得分:0)
您可以使用length assertion
cypress.get('.some-class').should('not.have.length', 0);