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()
Вышеперечисленные команды отобразятся в журнале команд как:
При нажатии на next в журнале команд в консоли отображается следующее:
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/next