在变量上使用赛普拉斯函数

Use Cypress functions on variables

我正在循环抛出所有 .row 并需要获取 .row 中的内部元素。有没有办法做到这一点?我无法在 Cypress 的网站上找到任何关于此的文档。

let num = 0
cy.get('.row').each(row => { 
  let rowDiv = cy.get(row).get('div') // not correct
  let rowBtn = cy.get(row).get('button') // not correct

  cy.get(rowDiv).should('have.text', 'Task ' + num)
  cy.get(rowBtn).should('have.text', "Btn ' + num)

  num++
})

You can use cy.wrap() 将生成的 JQuery 元素转回 Cypress Chainables。此外,cy.each() 可以为您提供当前迭代的索引,因此不必使用 num,您可以只使用该索引变量。

cy.get('.row')
  .each((row, rowIndex) => { // yields JQuery element and current iteration
    cy.wrap(row).find('div').should('have.text', `Task ${rowIndex}`);
    cy.wrap(row).find('button').should('have.text', `Btn ${rowIndex}`);
  });