如何比较柏树中两个元素列表的文本值?

How to compare text values of two lists of elements in cypress?

我有这样的代码:

let firstUserPrices

cy.get('.fw-price').each($value => {
    firstUserPrices = $value.text()
})

let secondUserPrices
cy.get('.fw-price').each($value => {
    secondUserPrices = $value.text()
    expect(firstUserPrices, 'PRICES').to.equal(secondUserPrices)
})

cy.get('.fw-price') 有 10 个元素,我想一一比较所有元素。但是我得到的是 firstUserPrices 的 10 倍相同的值(它是最后一个值形式列表)我在这里做错了什么?

假设两个列表的长度相等,您可以试试这个 -

cy.get('list1').then((list1) => {
   cy.get('list2').then((list2) => {
      for (var i = 0, i < list1.length, i++) {
         expect(list1.eq(i).text()).to.equal(list2.eq(i).text())
      }
   })
})

我想通了,必须将 firstUserPrices 放入一个数组并将元素推送到该数组

let firstUserPrices = []

cy.get('[data-t="my-price"] span span').each($value => {
    firstUserPrices.push($value.text()) 
})

//do some stuff here

cy.get('[data-t="my-price"] span span').each(($value,index) => {
    const secondUserPrices = $value.text()
    expect(firstUserPrices[index], 'PRICES').to.not.equal(secondUserPrices)
})