Я циклически выбрасываю все .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++
})
Вы можете использовать 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}`);
});
Ах, мой плохой, скопируйте и вставьте ошибку. Я обновлю ответ.
Спасибо, что сработало! Мне просто нужно было изменить .get на .find в вашем решении.