Course Outline
Day 1 – Introduction & Foundations
Introduction
- The role of Cypress within the testing pyramid
- Configuring the test automation environment (Node LTS, npm)
- Initializing a basic Cypress project
- Running an initial “smoke” E2E test in both GUI and headless modes
Core Concepts
- Understanding Cypress basics, the command queue, and automatic retries
- Applying hooks: before, beforeEach, afterEach, and after
- Leveraging aliases and reusability techniques (.as(), cy.get('@alias'))
API (Contract) Testing
- Performing direct API tests using Cypress (cy.request())
- Stubbing API responses with cy.intercept() to handle edge cases
- Validating stability between frontend and backend integrations
Custom Cypress Commands
- Encapsulating repetitive tasks (such as login and navigation) into custom commands
- Enhancing code cleanliness and maintainability through reusable calls (e.g., cy.login())
Schedule: Theory, demonstrations, and practical exercises Prerequisites: Basic JavaScript knowledge, VSCode, and Git
Day 2 – Advanced Techniques & CI/CD
Developing Complex Tests
- Automating complete user journey flows
- Managing state via cy.intercept and cy.session
- Mitigating flaky tests to improve overall stability and execution speed
Data-Driven Testing
- Managing test data using JSON fixtures
- Creating parameterized tests that execute identical logic with varying inputs
Cypress Plugins
- Reporting tools: mochawesome, allure-cypress, junit-reporter
- Interaction helpers: cypress-file-upload, cypress-real-events
- Accessibility checks: cypress-axe, cypress-audit
- Visual regression testing: cypress-image-snapshot
- Maintainability enhancements: @testing-library/cypress, cypress-plugin-tab
Cypress in CI/CD
- Integrating with GitHub Actions
- Configuring the Node.js and Cypress environment for headless execution
- Triggering automated test runs on pushes and pull requests
- Implementing secure management of secrets
Wrap-up and Final Thoughts
Requirements
- Fundamental understanding of software testing principles
Target Audience
- Software testers
Testimonials (3)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
Very interesting subject and very knowledgeable trainer
Pedro Miguel Costa - Natixis
Course - Automation Testing with Cypress
Key topics can be discussed and agreed upon with the trainer in advance. Relaxed and pleasant atmosphere during the seminar days.