How to Test if Element Contains not Exact Match in Cypress
To test for a partial match in Cypress, you can use regexes with a should
assertion or a contains
command in the following way:
Copied to clipboard!
cy.get('.header').should('contain', /Welcome/);
cy.get('.header').contains(/Welcome/);
Both of these will match partially for the "Welcome" word. If your match depends on a variable, it is also possible to pass variables to a regex, however, for that you need to initialize a new RegExp
object like so:
Copied to clipboard! Playground
const regex = /Welcome/;
cy.get('.header')
.should('contain', new RegExp(regex, 'g'));
cy.get('.header')
.contains(new RegExp(regex, 'g'));
The g
flag passed to the regex tells it to match expressions globally. Want to learn Cypress from end to end? Check out my Cypress course on Educative where I cover everything:
Resources:
π More Webtips
Master the Art of Frontend
- Access 100+ interactive lessons
- Unlimited access to hundreds of tutorials
- Prepare for technical interviews