Spec-Zone.ru › Cypress

родитель

Получить родительский DOM-элемент набора DOM-элементов.

Обратите внимание, что .parent() перемещается только на один уровень вверх по дереву DOM, в отличие от команды .parents().

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

Синтаксис

.parent()
.parent(selector)
.parent(options)
.parent(selector, options)

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

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

cy.get('header').parent() // Yield parent el of `header`

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

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

Аргументы

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

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

options (Объект)

Передайте объект опций для изменения стандартного поведения .parent().

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

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

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

Примеры

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

Получить родителя активного li

<ul class="main-nav">
  <li>Overview</li>
  <li>
    Getting started
    <ul class="sub-nav">
      <li>Install</li>
      <li class="active">Build</li>
      <li>Test</li>
    </ul>
  </li>
</ul>
// yields .sub-nav
cy.get('li.active').parent()

Селектор

Получить родителя с классом sub-nav всех li элементов

<ul class="main-nav">
  <li>Overview</li>
  <li>
    Getting started
    <ul class="sub-nav">
      <li>Install</li>
      <li class="active">Build</li>
      <li>Test</li>
    </ul>
  </li>
</ul>
// yields .sub-nav
cy.get('li').parent('.sub-nav')

Правила

Требования

  • .parent() требует, чтобы вы использовали её после команды, возвращающей DOM-элемент(ы).

Утверждения

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

Таймауты

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

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

Утверждение на родителя активного li

cy.get('li.active').parent().should('have.class', 'nav')

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

Command Log parent

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

Console Log parent

См. также

  • .children()
  • .parents()
  • .parentsUntil()

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

Spec-Zone.ru

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