有人可以帮忙吗? 简要说明:打开一个页面,获取文本元素,然后打开第二个页面,在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)
}
})
}
)
当检查测试运行器时 - 我得到了元素,但测试失败:
如何正确断言?谢谢。
const textsArray = []
更改为var textsArray = []
。 - Alapan DastextsArray.push(text)
不起作用,而且在第一次迭代中为什么数组大小根据日志是4?你能发布一下list2的html吗,这样我就可以进行更多的调试了吗?另外,您不必使用cy.wrap
,您可以直接编写expect语句。 - Alapan Das