赛普拉斯断言是数组中的元素
Cypress assert is element inside array
有人可以帮忙做以下事情吗:
简短说明:打开一页,获取文本元素,然后打开第二页,在 4 或 5 个元素中找到,需要断言第一页的元素在这几个元素的创建数组中。写了这段代码:
Cypress.Commands.add(
'assertForOpenedElementVisible',
(list1, list2, notDisplayedElementMsg) => {
const textsArray = []
cy.get('body').then((body) => {
if (body.find(list1).length > 0) {
cy.get(list1).each(($el, index) => {
const text1 = $el.text().replace(', ', '')
cy.get(list1).eq(index).click()
cy.wait(1000)
cy.get(list2)
.each(($el, index) => {
const text = $el.text().replace(', ', '')
textsArray.push(text)
cy.log(textsArray)
cy.log(text)
})
.then(() => {
cy.wrap(expect(textsArray).to.include(text1))
})
})
} else {
cy.log(notDisplayedElementMsg)
}
})
}
)
当检查测试运行器时 - 我得到了元素,但测试失败:
如何正确断言?提前谢谢你
你可以这样断言:
expect(text1).to.be.oneOf(textsArray)
或者,您可以不使用 each()
直接断言,例如:
cy.get(list2).should(($list2) => {
expect($list2.eq(3)).to.contain('49') //If you know the position
})
cy.get(list2)
.invoke('text')
.then((text) => {
expect(text).to.contain('49') //If you don't know the position
})
有人可以帮忙做以下事情吗: 简短说明:打开一页,获取文本元素,然后打开第二页,在 4 或 5 个元素中找到,需要断言第一页的元素在这几个元素的创建数组中。写了这段代码:
Cypress.Commands.add(
'assertForOpenedElementVisible',
(list1, list2, notDisplayedElementMsg) => {
const textsArray = []
cy.get('body').then((body) => {
if (body.find(list1).length > 0) {
cy.get(list1).each(($el, index) => {
const text1 = $el.text().replace(', ', '')
cy.get(list1).eq(index).click()
cy.wait(1000)
cy.get(list2)
.each(($el, index) => {
const text = $el.text().replace(', ', '')
textsArray.push(text)
cy.log(textsArray)
cy.log(text)
})
.then(() => {
cy.wrap(expect(textsArray).to.include(text1))
})
})
} else {
cy.log(notDisplayedElementMsg)
}
})
}
)
当检查测试运行器时 - 我得到了元素,但测试失败:
如何正确断言?提前谢谢你
你可以这样断言:
expect(text1).to.be.oneOf(textsArray)
或者,您可以不使用 each()
直接断言,例如:
cy.get(list2).should(($list2) => {
expect($list2.eq(3)).to.contain('49') //If you know the position
})
cy.get(list2)
.invoke('text')
.then((text) => {
expect(text).to.contain('49') //If you don't know the position
})