Course Outline
Day 1 – Introduction & Basics
Introduction
- The role of Cypress in the testing pyramid.
- Setting up the test automation environment (Node LTS, npm).
- Creating a minimal Cypress project.
- Writing the first "smoke" E2E test in both GUI and headless modes.
Core Concepts
- Cypress fundamentals, including the command queue and automatic retry mechanisms.
- Using 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 using cy.intercept() for edge cases.
- Ensuring stability in frontend-backend integration.
Custom Cypress Commands
- Organizing repetitive actions (such as login and navigation) into custom commands.
- Writing 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 complete user flows.
- Controlling state with cy.intercept and cy.session.
- Avoiding flaky tests while improving stability and speed.
Data-Driven Testing
- Storing test data in JSON files (fixtures).
- Running parameterized 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 for headless execution.
- Configuring automatic test runs upon push or PR events.
- Secure handling of secrets.
Summary and conclusion
Requirements
- Understanding of software testing concepts.
Audience
- Software testers.
Testimonials (3)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
The exercises we covered in the course were quite useful and applicable to my activities at work. The doubts were resolved, and the examples shared are very helpful.
jocelin salas - BANXICO
Course - Test Automation with Selenium and Python
Machine Translated
The way technical topics were addressed in a practical manner, with real examples and an excellent attitude from the instructor.
Juan - ASECCSS
Course - Automatización de Pruebas con Selenium
Machine Translated