Cypress get all elements but first
I have a use-case when the first .my-class
should be in one state, and all the rest .my-class
should be in another, so I need to make a few assertions on the first and a few others on the rest.
Here is my first access:
cy.get('.custom-expand').first().should('have.class', 'custom-expand-expanded')
How can I assert the rest should('not.have.class'
?
Solution 1:
You can access the rest elements by the nextAll
function:
cy.get('.cx-custom-expand').first().should('have.class', 'cx-custom-expand-expanded')
cy.get('.cx-custom-expand').first().nextAll().should('not.have.class', 'cx-custom-expand-expanded')
Or even:
const first = cy.get('.cx-custom-expand').first()
const rest = first.nextAll()
// do you tests on them
first.should('have.class', 'cx-custom-expand-expanded')
rest.should('not.have.class', 'cx-custom-expand-expanded')