cypress - 对变量使用 Cypress 函数

我正在循环抛出所有 .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++
})

回答1

https://docs.cypress.io/api/commands/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}`);
  });

相似文章

最新文章