Course Outline
Day 1 – Introduction & Basics
Introduction
- The role of Cypress within the testing pyramid
- Setting up the test automation environment (Node LTS, npm)
- Creating a minimal Cypress project
- Executing the first “smoke” E2E test in both GUI and headless modes
Core Concepts
- Cypress fundamentals, command queues, and automatic retries
- Utilising hooks: before, beforeEach, afterEach, and after
- Aliases and reusability (.as(), cy.get('@alias'))
API (Contract) Testing
- Direct API testing with Cypress (cy.request())
- API stubbing with cy.intercept() to handle edge cases
- Ensuring stability in frontend-backend integration
Custom Cypress Commands
- Organising repetitive actions, such as login and navigation, into custom commands
- Achieving cleaner, maintainable code through reusable calls (e.g., cy.login())
Schedule: theory + demo + hands-on exercises Prerequisites: basic JS knowledge, VSCode, Git
Day 2 – Advanced Practices & CI/CD
Building Complex Tests
- Automating comprehensive user flows
- State control using cy.intercept and cy.session
- Eliminating flaky tests to enhance stability and speed
Data-Driven Testing
- Storing test data in JSON files (fixtures)
- Parameterised tests that execute the same logic with multiple inputs
Cypress Plugins
- Reporting: mochawesome, allure-cypress, junit-reporter
- Interactions: cypress-file-upload, cypress-real-events
- Accessibility: cypress-axe, cypress-audit
- Visual regression: cypress-image-snapshot
- Maintainability: @testing-library/cypress, cypress-plugin-tab
CI/CD with Cypress
- GitHub Actions integration
- Setting up the Node.js and Cypress environment, including headless execution
- Automating test runs on push/PR events
- Secure handling of secrets
Summary and conclusion
Requirements
- A foundational understanding of software testing
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.