Course Outline
Day 1 – Foundations & Essential Skills
Getting Started
- The position of Cypress within the testing pyramid
- Configuring the test automation environment (Node LTS, npm)
- Initializing a basic Cypress project
- Executing the initial “smoke” E2E test in both GUI and headless modes
Fundamental Concepts
- Core Cypress mechanics, including the command queue and automatic retry mechanisms
- Applying hooks: before, beforeEach, afterEach, and after
- Utilizing aliases for reusability (.as(), cy.get('@alias'))
API (Contract) Validation
- Testing APIs directly with Cypress (cy.request())
- Intercepting APIs with cy.intercept() to handle edge cases
- Verifying the stability of frontend-backend integrations
Creating Custom Commands
- Consolidating repetitive tasks (such as login and navigation) into custom commands
- Ensuring cleaner, maintainable code through reusable calls (e.g., cy.login())
Schedule: Theory, demonstrations, and hands-on exercises Prerequisites: Basic JavaScript knowledge, VSCode, and Git
Day 2 – Advanced Techniques & CI/CD Integration
Developing Complex Scenarios
- Automating complete user workflows
- Managing state using cy.intercept and cy.session
- Mitigating flaky tests to enhance stability and execution speed
Data-Driven Testing Strategies
- Managing test data via JSON files (fixtures)
- Executing parameterized tests that apply identical logic to diverse inputs
Extending with Cypress Plugins
- Reporting tools: mochawesome, allure-cypress, and junit-reporter
- Interaction utilities: cypress-file-upload and cypress-real-events
- Accessibility checks: cypress-axe and cypress-audit
- Visual regression testing: cypress-image-snapshot
- Maintainability aids: @testing-library/cypress and cypress-plugin-tab
Integrating Cypress into CI/CD Pipelines
- Setting up GitHub Actions integration
- Configuring the Node.js and Cypress environment for headless execution
- Triggering automated test runs upon push or pull requests
- Secure management of sensitive data and secrets
Wrap-up and Final Review
Requirements
- A foundational understanding of software testing principles
Target Audience
- Software testing professionals
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.