Spec-Zone.ru › Cypress

next

Получите непосредственно следующий элемент-потомок каждого элемента DOM в наборе элементов DOM.

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

Синтаксис

.next()
.next(selector)
.next(options)
.next(selector, options)

Использование

Правильное использование

cy.get('nav a:first').next() // Yield next link in nav

Неправильное использование

cy.next() // Errors, cannot be chained off 'cy'
cy.getCookies().next() // Errors, 'getCookies' does not yield DOM element

Аргументы

selector (строка селектора)

Селектор, используемый для фильтрации соответствующих элементов DOM.

options (объект)

Передайте объект options, чтобы изменить стандартное поведение .next().

Опция Значение по умолчанию Описание
log true Отображает команду в журнале команд
timeout defaultCommandTimeout Время ожидания .next() для разрешения перед выходом из ожидания

Возвращаемые значения

  • .next() возвращает новые найденные элементы DOM.

Примеры

Без аргументов

Найдите элемент, следующий за .second

<ul>
  <li>apples</li>
  <li class="second">oranges</li>
  <li>bananas</li>
</ul>
// yields <li>bananas</li>
cy.get('.second').next()

Тестирование списка значений

<input list="fruit" />
<datalist id="fruit">
  <option>Apple</option>
  <option>Banana</option>
  <option>Cantaloupe</option>
</datalist>
cy.get('#fruit option')
  .first()
  .should('have.text', 'Apple')
  .next()
  .should('have.text', 'Banana')
  .next()
  .should('have.text', 'Cantaloupe')

Селектор

Найдите непосредственного следующего элемента-потомка каждого li. Оставьте только те, у которых есть класс selected

<ul>
  <li>apples</li>
  <li>oranges</li>
  <li>bananas</li>
  <li class="selected">pineapples</li>
</ul>
// yields <li>pineapples</li>
cy.get('li').next('.selected')

Правила

Требования

  • .next() требует цепочки после команды, которая возвращает элементы DOM.

Утверждения

  • .next() автоматически повторно выполнится до тех пор, пока элемент(ы) не появятся в DOM
  • .next() автоматически повторно выполнится до тех пор, пока все присоединенные утверждения не пройдут

Таймауты

  • .next() может выйти из ожидания, ожидая, пока элемент(ы) не появятся в DOM.
  • .next() может выйти из ожидания, ожидая, пока утверждения не пройдут.

Журнал команд

Найдите элемент, следующий за .active li

cy.get('.left-nav').find('li.active').next()

Вышеперечисленные команды отобразятся в журнале команд как:

Command Log next

При нажатии на next в журнале команд в консоли отображается следующее:

Console Log next

См. также

  • .nextAll()
  • .nextUntil()
  • .prev()

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/next

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API