Spec-Zone.ru › Cypress

children

Получите дочерние элементы каждого DOM-элемента в наборе DOM-элементов.

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

Синтаксис

.children()
.children(selector)
.children(options)
.children(selector, options)

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

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

cy.get('nav').children() // Yield children of nav

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

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

Аргументы

selector (Строковый селектор)

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

options (Объект)

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

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

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

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

Примеры

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

Получить дочерние элементы .secondary-nav

<ul>
  <li>About</li>
  <li>
    Services
    <ul class="secondary-nav">
      <li class="services-1">Web Design</li>
      <li class="services-2">Logo Design</li>
      <li class="services-3">
        Print Design
        <ul class="tertiary-nav">
          <li>Signage</li>
          <li>T-Shirt</li>
          <li>Business Cards</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Contact</li>
</ul>
// yields [
//  <li class="services-1">Web Design</li>,
//  <li class="services-2">Logo Design</li>,
//  <li class="services-3">Print Design</li>
// ]
cy.get('ul.secondary-nav').children()

Селектор

Получить дочерние элементы с классом active

<div>
  <ul>
    <li class="active">Unit Testing</li>
    <li>Integration Testing</li>
  </ul>
</div>
// yields [
//  <li class="active">Unit Testing</li>
// ]
cy.get('ul').children('.active')

Правила

Требования

  • .children() требует цепочки команд, возвращающих DOM-элементы.

Ассершены

  • .children() автоматически повторяется, пока элемент(ы) не будут существовать в DOM
  • .children() автоматически повторяется, пока все ассершены не пройдут.

Таймауты

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

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

Утвердить, что должно быть 8 дочерних элементов в навигаторе

cy.get('.left-nav>.nav').children().should('have.length', 8)

Команды выше будут отображаться в журнале команд как:

Command log for children

При нажатии на команду children в журнале команд, консоль выведет следующее:

console.log for children

См. также

  • .next()
  • .parent()
  • .parents()
  • .siblings()

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

Spec-Zone.ru

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