Skip to main content

Cypress siblings command

Earlier we have discussed parent, parents, and children command now it's time to discuss another related command which is a sibling.

Sibling means two or more children or offspring or elements in HTML terms, having parent elements in common. With siblings command, you will get Get siblings DOM elements that share the same parent. .sibling() command will yield new elements or elements if found.

Syntax

.siblings()
.siblings(selector)
.siblings(options)
.siblings(selector, options)

Here, a selector to identify matching DOM elements and for options, we can have 2 values log and timeout.

Example

Again, this command can not be chained directly with cy. For demo, we will be working on the top menu of ProgramsBuzz

cypress sibling demo

 it.only('sibling demo', () => {
        cy.visit('/')

        // Yield all li's siblings for top navigation - 6 elements
        cy.get('div.gva-navigation > ul > li').siblings()

        // Click on Ask doubt link
        cy.contains('Ask Doubt').click()
        
        // Yield all li's siblings with class '.menu-item--active-trail' i.e. ask doubt (1 element)
        cy.get('div.gva-navigation > ul > li').siblings('.menu-item--active-trail')

        // output 5 elements
        cy.get('div.gva-navigation > ul > li.menu-item--active-trail').siblings()
    })

In the above code first, we counted a number of menu items using sibling, which will return 6 items, then after clicking on the ask doubt link, we are checking how many items are active. Obviously, that is the one which we clicked with the link title Ask Doubt.

In the 4th command, after finding the active element (Ask Doubt) using the selector. We are finding siblings of Ask Doubt, which are the remaining element except for the ask doubt, and hence count will be 5.

Tags
Submitted by tgoswami on December 1, 2021

Tarun has 11+ years of experience in Quality Assurance in different domains like Banking, E-commerce, Health and Education.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.