cypress testing tutorial

Cypress Assertions

2 min read
Cypress Assertions

In this tutorial, we will cover different types of Cypress Assertions such as the default, implicit and explicit assertions and talk about the difference between the should and the expect assertions.

Cypress uses the Chai assertion library as well as the extensions of Sinon & jQuery to provide you with dozens of powerful assertions for free.

Default Assertions

Cypress comes with many default assertions that can be used without having to explicitly define assertions, such as -

  • cy.visit(): every-time you visit a page, Cypress expects the page to return with a 200 status code
  • cy.get(): the get command expects the element to exist in the DOM first before trying to access it

Implicit Assertions

The implicit assertions used the should() or the and() commands when making assertions. This is the preferable way of making assertions in Cypress.

cy.get('h1').should('have.text', 'My Heading')

You can even chain multiple assertions together -

cy.get('h1')
   .should('have.text', 'My Heading')
   .and('have.class', 'highlighted')

Explicit Assertions

You should use the Explicit assertions when you would like to make multiple assertions for the same subject or when you would like to manipulate your subject before making your assertion. For explicit assertions, you will use the expect command.

cy.get("h1.elementor-heading-title").should(($heading) => {
    // manipulate your text here and assert below
    expect($heading.text()).to.eq("Think different. Make different.");
    // add further expect assertions here
  });

Check out the video below to see learn more about Cypress Assertions –


I hope this post helped you out, let me know if you have any questions in the comments below!

Happy testing!

Want to learn more?

Check out our courses to master test automation and advance your career.

Explore Courses