parentsUntil
Get all ancestors of each DOM element in a set of matched DOM elements up to, but not including, the element provided.
info
The querying behavior of this command matches exactly how
.parentsUntil() works in jQuery.
Syntax​
.parentsUntil(selector)
.parentsUntil(selector, filter)
.parentsUntil(selector, filter, options)
.parentsUntil(element)
.parentsUntil(element, filter)
.parentsUntil(element, filter, options)
Usage​
cy.get('p').parentsUntil('.article') // Yield parents of 'p' until '.article'
cy.parentsUntil() // Errors, cannot be chained off 'cy'
cy.clock().parentsUntil('href') // Errors, 'clock' does not yield DOM elements
Arguments​
The selector where you want finding parent ancestors to stop.
element (DOM node, jQuery Object)
The element where you want finding parent ancestors to stop.
A selector used to filter matching DOM elements.
Pass in an options object to change the default behavior of .parentsUntil().
| Option | Default | Description | 
|---|---|---|
| log | true | Displays the command in the Command log | 
| timeout | defaultCommandTimeout | Time to wait for .parentsUntil()to resolve before timing out | 
Yields ​
- .parentsUntil()yields the new DOM element(s) it found.
Examples​
Selector​
Find all of the .active element's ancestors until .nav​
<ul class="nav">
  <li>
    <a href="#">Clothes</a>
    <ul class="menu">
      <li>
        <a href="/shirts">Shirts</a>
      </li>
      <li class="active">
        <a href="/pants">Pants</a>
      </li>
    </ul>
  </li>
</ul>
// yields [ul.menu, li]
cy.get('.active').parentsUntil('.nav')
Rules​
Requirements ​
- .parentsUntil()requires being chained off a command that yields DOM element(s).
Assertions ​
- .parentsUntil()will automatically retry until the element(s) exist in the DOM
- .parentsUntil()will automatically retry until all chained assertions have passed
Timeouts ​
- .parentsUntil()can time out waiting for the element(s) to exist in the DOM.
- .parentsUntil()can time out waiting for assertions you've added to pass.
Command Log​
Find all of the active element's ancestors until .nav
cy.get('.active').parentsUntil('.nav')
The commands above will display in the Command Log as:

When clicking on parentsUntil within the command log, the console outputs the
following:
