
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Course Introduction
Prepare and setup Cypress project
Install Cypress dependency and create base folders and configuration
Create first cypress test and run it.
Learn how to assert page titles.
Learn how to assert page elements.
Waiting in cypress explained.
Learn how to reload browser and log cypress actions into test runner logs.
Learn how to use test hooks and tags in Cypress.
Learn how to automate interactions with inputs, forms, buttons and checkboxes.
Learn how to automate interactions with inputs, forms, buttons and checkboxes.
Learn how to automate interactions with modals.
Learn how to automate interactions with mouse hovers.
Learn how to emulate multiple devices using cypress or setup viewports.
Learn how to make screenshots with Cypress.
Learn how to assert list of elements.
Learn how to read / write into files on your local machine.
Learn how to use cypress fixtures as data providers.
Learn how to create your own custom commands in cypress
Learn how to create abstraction with classes like Page objects model.
Learn how to scroll using cypress API
Learn how to upload files in cypress.
Learn how to clear inputs.
Learn how to invoke javascript using cypress.
Learn how to test data tables.
Learn how to set base url configuration.
Implement test retries to your cypress project.
Learn multiple CLI commands.
Integrate mocha awesome reporter to cypress project.
Create E2E test.
Create E2E test.
Create E2E test.
Set up a Cypress API testing project from scratch, install Cypress, configure the base URL, and create an API spec to make requests, read responses, and provide an access token.
Explore rest api testing with Cypress by sending a get request to a user endpoint, logging the response body and headers, and preparing for assertions on status codes and email.
Design and execute a Cypress API test get request to users/2, log the response body, and assert the id and email values, including a negative assertion.
Examine post request error handling by sending invalid data to the login API and expecting a 400. Verify missing password and disable fail on status code to keep tests running.
Practice calling a delete request in Cypress to remove a user and assert a 204 status, using an alias and endpoint /api/users/{id}.
Learn how a put request updates specific fields by sending modified data to an endpoint, as shown with /user/2, asserting status and a name update in the response.
Learn how to add a bearer token to Cypress requests, retrieve tokens via a post request, store the token, and pass it in subsequent requests to access guarded endpoints.
Source codes
BDD Section Intro.
Setup BDD / Cucumber project.
Setup cypress cucumber preprocessor.
Learn how to create BDD features.
Learn how to create step definitions.
Learn how to add parameters to your steps.
Learn data driven BDD testing.
Develop a Cypress framework from scratch with TypeScript, installing dependencies, configuring prettier and tsconfig, and setting up project structure for real-world testing with a reporter.
Integrate mochawesome reporter with Cypress by configuring Cypress.json and requiring the Cypress mocha awesome reporter plugin in plugins, while disabling video recording and increasing default command timeout to 10 seconds.
Explore how to create and use Cypress custom commands with TypeScript by defining a namespace and interface, adding visit home page, login page, and feedback page commands, and enabling auto-complete.
Explore the app actions design pattern to automate submitting a feedback form in Cypress, using a four-parameter, type-safe interface and test steps, with fixtures coming later.
Set up intelligent code completion for Cypress by initializing the Cypress folders, running npx Cypress open, configuring Cypress.json, and creating PTS.Config.json.
Create custom Cypress helper commands for visibility and existence checks, and implement a unified set viewport function; then add a reusable login command to automate signing in with credentials.
Create a reusable navbar component with the page objects pattern in Cypress, exposing actions for clicking the logo, typing in the search box, and clicking sign in across pages.
Constructs a login page object under the page objects pattern, exposing login, forgot password, and error message methods, and extends the base page to reuse shared utilities.
Create and run the first end-to-end test in Cypress using the page objects pattern, validating login with invalid credentials and a successful login through a reusable base page and components.
Enhance your Cypress framework by adding cross-browser scripts in package.json to run tests in Chrome, Firefox, and Electron using the browser flag.
Define test scripts by editing package.json to run Cypress, plan image updates and image snapshot handling for terminal output, and set the stage for visual regression testing.
Fix plugin configuration in Cypress by correcting the plugin import and the support command import to use the slash plugin, ensuring tests run correctly.
Target and snapshot a single element with Cypress by using get to select the element and match image snapshot to capture only that element, such as an h1.
Disable the fail on snapshot flag in Cypress by passing an env flag in a ci run; setting it to false keeps tests green when snapshots fail, for debugging only.
Learn how to locally override matchImageSnapshot options in Cypress by passing an options object to customize threshold and threshold type (pixels or percentage), with production caveats.
Learn how to perform visual regression tests with Cypress using Percy snapshots, set up a test, run builds, view snapshots, and review or approve changes.
Explore continuous integration and continuous delivery, showing how automated build, tests, and deployment with providers like Jenkins, Travis, and CircleCI enable small, frequent releases.
Explore Jenkins, CircleCI, and Travis, comparing pros, cons, cloud-based and on-prem options, plugin ecosystems, and YAML configurations to guide you in choosing a CI/CD solution.
Set up a Cypress project from scratch, create package.json, install Cypress, and configure npm scripts to run tests headlessly, then connect to the Cyprus dashboard service.
Connect your Cypress project to the dashboard by creating a project record, choosing private access, adding a dashboard script in package.json, and recording runs that sync to the dashboard.
Enable Cypress video recording and upload to the dashboard, then run a single spec with the spec flag and record option to view and debug the test video.
Connect Cypress to Jenkins by setting up a Jenkins server, creating a freestyle build, and running npm run ci run, then learn to parameterize builds for different browsers.
Configure Jenkins to run Cypress tests with parameterized browser scripts for Chrome, Firefox, and Electron. Update the shell to use the chosen script, enabling browser selection at build time.
Execute Cypress tests inside a Docker container by building a Docker image, verifying Cypress, and running tests that pass, with caching for faster iterations.
Are you ready to become a true expert in web automation and end-to-end testing using the world's most powerful non-Selenium testing framework—Cypress? Then you're in the right place. This fully updated and comprehensive course is your one-stop resource for mastering Cypress with confidence.
From the very beginning, this course is built to be highly practical and hands-on. You’ll start coding right away and dive deep into web automation, learning to interact with web elements using the robust and intuitive Cypress API. You'll work through real-world end-to-end testing scenarios, apply best practices, and explore advanced features and patterns that will set you apart as a true Cypress professional.
But that's just scratching the surface. You'll also gain in-demand skills like:
REST API testing with Cypress
Running Cypress inside Docker containers
Leveraging Cypress plugins and extensions for added functionality
Generating rich test reports using Mocha
We’ll also teach you how to implement App Actions and the popular Page Object design pattern, crucial for writing clean, scalable, and maintainable test suites. You’ll dive into Behavior-Driven Development (BDD) using Cypress + Cucumber, and take your testing even further with visual regression testing using the Percy library.
This course doesn’t stop at just local testing. You'll learn how to take your automation setup into the cloud using BrowserStack, work effectively with XPath, and even build robust CI/CD pipelines using Jenkins, enabling seamless continuous integration for your projects.
And because career growth is part of your journey, we’ve also included interview preparation resources, so you’ll be equipped to confidently tackle technical interviews and land automation roles with ease.
Throughout the course, you'll have access to a supportive, collaborative learning environment. Our Q&A section is active and welcoming, full of expert advice, solutions to common challenges, and tips shared by both the instructor and fellow students. If you ever get stuck, help is just a question away.
So what are you waiting for? Join thousands of learners who are transforming their careers with Cypress. Enroll now and take the first step toward becoming a Cypress testing expert in 2025 and beyond!