赛普拉斯:如何根据数组长度添加循环?

Cypress: How to add loop based on the array length?

我有这段代码,我得到 'ul[class="menu"] > li' 得到文本并将其转换为数组 'list'

    it('List to array', () => {
        const list = []
        cy.get('ul[class="menu"] > li').children()
            .each(($ele) => {
            list.push($ele.text().toString().trim())
          })
          .then(() => {
            cy.get('ul[class="menu"] > li').should('contain',list[0])
            cy.log(list[0])
          })

})

现在我想添加一个循环,直到它完成我在列表中的数组,它将根据我最后的代码断言(应该),因为列表的长度不断变化,我不想要重复的代码

我怎样才能做到这一点?

查看 each() 的文档,赛普拉斯传入每个元素及其索引。

使用索引从列表中获取值。

cy.get('ul.menu > li')     // same as 'ul[class="menu"] > li'
  .each(($el, index) => {
    expect($el.text()).to.eq(list[index])
  })