Uploaded October 2024 | Updated September 2026, 1 week ago
This video shows how the Cypress test can confirm the vertical alignment of two elements. We get the bounding client rectangle from both elements and then compare the centers' values. We use "closeTo" assertion since floating-point values might disagree by a tiny amount. We can simplify the test using "cypress-map" plugin and even make the entire chain retryable. Find the source code at glebbahmutov.com/cypress-examples/recipes/vertical-center.html
This video shows how the Cypress test can confirm the vertical alignment of two elements. We get the bounding client rectangle from both elements and then compare the centers' values. We use "closeTo" assertion since floating-point values might disagree by a tiny amount. We can simplify the test using "cypress-map" plugin and even make the entire chain retryable. Find the source code at glebbahmutov.com/cypress-examples/recipes/vertical-center.html





![Use cy.filter Command To Filter Elements By Child Element Presence
We can use the cy.filter command to filter DOM elements by the presence of some child elements. For example, to find all LI elements that have an element inside with class new, we can do the following (this example also verifies the elements own text)
// confirm 2 new elements
cy.get(li).filter(:has(.new)).should(have.length, 2)
// confirm the elements without new label
// have specific tet
cy.get(li)
.filter(:not(:has(.new)))
.map(childNodes.0.nodeValue)
.mapInvoke(trim)
.should(deep.equal, [Grapes, Pears])
Note: map and mapInvoke commands come from the plugin https://github.com/bahmutov/cypress-map
Find this recipe at https://glebbahmutov.com/cypress-examples/ Use cy.filter Command To Filter Elements By Child Element Presence](https://i.ytimg.com/vi/ZC6fXDkPtMI/mqdefault.jpg)




