Итерация по элементам

Вы найдете (или нашли), что при возврате интерфейсов они пронизывают ваш код. например вы возвращаете интерфейс из метода A, и вы имеете , чтобы затем передать интерфейс к методу B.

То, что вы делаете, - это программирование по контракту, хотя и ограниченным образом.

Это дает вам огромные возможности для изменения реализаций под обложками (при условии, что эти новые объекты соответствуют существующим контрактам / ожидаемым поведением).

Учитывая все это, у вас есть преимущества с точки зрения выбор вашей реализации и то, как вы можете подменить поведение (в том числе тестирование - используя насмешливость, например). В случае, если вы не догадались, я все сторонник этого и попытаюсь уменьшить (или ввести) интерфейсы там, где это возможно.

1
задан user3378165 28 February 2019 в 11:54
поделиться

1 ответ

Вы можете использовать each:

cy.get('p[data-test="ContactID"]').each(($match) => {
  cy.wrap($match).invoke('text').should('not.eq', contactID)
})
  • invoke для вызова функции на объекте, в данном случае .text()
  • в цепочке .should делает утверждение на этом тексте
  • , это будет повторять утверждение до тех пор, пока оно не пройдет или не истечет время ожидания (см. повторная попытка ) из-за cy.wrap
0
ответ дан bkucera 28 February 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: