Cypress "get" возвращает элементы в том порядке, в котором они появляются в документе HTML? - PullRequest
0 голосов
/ 05 августа 2020

Я пишу тесты e2e, используя Cypress , и мне нужно написать тест, который утверждает, правильно ли интерфейс заказывает набор элементов.

Только, например, предположим, что у меня есть страница, которая просто перечисляет набор возрастов следующим образом:

<div id="list">
   <div class="age">18</div>
   <div class="age">20</div>
   <div class="age">19</div>
</div>

И я хочу написать тест, который проверяет, отсортирован ли он от старшего к младшему.

Одним из подходов может быть получение элементы, в которых класс равен возраст , и обнаруживают, упорядочен ли он путем итерации по ним:

cy.get(".age").then((ages) => {
  //check if elements are ordered iterating over ages array
})

Но я могу гарантировать, что мой тест верен, только если массив ages находится в в том же порядке, что и в HTML.

Всегда ли элементы DOM уступают cy.get() в том же порядке, в каком они помещены в HTML документ?

Я не могу найти любая ссылка на это в официальной документации

Заранее спасибо!

1 Ответ

2 голосов
/ 06 августа 2020

Короткий ответ, да .

Объяснение:

Из кипариса do c из get :

Поведение запроса эта команда точно соответствует тому, как $ ( …) Работает в jQuery.

, а ответ на как jQuery работает в порядке $ () :

... Итак, окончательный ответ - да, я могу использовать $ ('. MyList li'). Each () и перебирать элементы списка в том порядке, в котором они появляются в DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...