Course Outline
Day 1 – Introduction & Basics
Introduction
- The role of Cypress within the testing pyramid.
- Setting up the test automation environment (Node LTS, npm).
- Establishing a minimal Cypress project.
- Executing the first "smoke" E2E test in both GUI and headless modes.
Core Concepts
- Cypress fundamentals, including the command queue and automatic retry mechanisms.
- Utilizing hooks: before, beforeEach, afterEach, and after.
- Aliases and reusability techniques (.as(), cy.get('@alias')).
API (Contract) Testing
- Direct API testing using Cypress (cy.request()).
- API stubbing with cy.intercept() for handling edge cases.
- Ensuring stability in frontend-backend integration.
Custom Cypress Commands
- Consolidating repetitive actions (such as login and navigation) into custom commands.
- Achieving cleaner, more maintainable code through reusable calls (e.g., cy.login()).
Schedule: Theory instruction + demonstrations + hands-on exercises Prerequisites: Basic JavaScript knowledge, VSCode, and Git.
Day 2 – Advanced Practices & CI/CD
Building Complex Tests
- Automating complete user workflows.
- Managing state with cy.intercept and cy.session.
- Mitigating flaky tests while enhancing stability and execution speed.
Data-Driven Testing
- Storing test data in JSON files (fixtures).
- Running parameterized tests that apply the same logic across multiple inputs.
Cypress Plugins
- Reporting tools: mochawesome, allure-cypress, junit-reporter.
- Interaction plugins: cypress-file-upload, cypress-real-events.
- Accessibility plugins: cypress-axe, cypress-audit.
- Visual regression testing with cypress-image-snapshot.
- Maintainability tools: @testing-library/cypress, cypress-plugin-tab.
CI/CD with Cypress
- Integration with GitHub Actions.
- Configuring the Node.js and Cypress environment for headless execution.
- Automating test runs upon code pushes or pull requests.
- Secure management of secrets.
Summary and conclusion
Requirements
- A foundational understanding of software testing principles.
Audience
- Software testers.
Testimonials (4)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
The instructor's teaching style was very good.
Kubra
Course - Automation Testing using Selenium
Key topics can be discussed and agreed upon with the trainer in advance. Relaxed and pleasant atmosphere during the seminar days.
Lorenz - Continentale Lebensversicherung AG
Course - Advanced Selenium
I gained new knowledge and I'm pretty confident about it. Nothing unclear.