Кипарис - поменять каждый - PullRequest
0 голосов
/ 20 апреля 2020

Мне нужно отменить взятие элемента из массива. Я должен начать с последнего. Я не могу найти другое решение для использования в Cypress, чем jQuery 'reverse', но у меня есть проблема, чтобы использовать его.

Не работают в обоих направлениях:

 cy.get('.btn-remove.action.delete').reverse().each(($el, index, $list) =>  {
                        cy.get($el).click({force:true})
                       cy.wait(1000)
                })

ответ от Cypress - TypeError: cy.get (...). Reverse не является функцией

And

cy.get('.btn-remove.action.delete').invoke('reverse').each(($el, index, $list) =>  {
                        cy.get($el).click({force:true})
                        cy.wait(1000)
                })

ответ от Cypress - CypressError: Тайм-аут повторной попытки: cy.invoke () произошла ошибка, поскольку свойство: 'reverse' не существует в вашей теме.

Или, возможно, существует другое путь, чем обратный ()?

1 Ответ

0 голосов
/ 21 апреля 2020

Как насчет попытки для l oop и итерации с конца, используя eq () :

cy.get('.btn-remove.action.delete').its('length').then((numberOfItems) => {
  for (var i = numberOfItems-1; i>=0; i--) {
    cy.get('.btn-remove.action.delete').eq(i).click({force:true})
  }
})

Возможно, это не самый чистый способ, но он должен работать.

Не знаю, для чего был cy.wait (1000) в вашем коде, но здесь это не нужно. (На самом деле, вам следует избегать как можно большего использования cy.wait ())

Дайте мне знать, если у вас есть какие-либо вопросы.

...