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 structure.
- Executing the initial 'smoke' E2E test in both GUI and headless modes.
Core Concepts
- Understanding Cypress fundamentals, command queues, and automatic retry mechanisms.
- Utilizing hooks: before, beforeEach, afterEach, and after.
- Leveraging aliases and reusability (.as(), cy.get('@alias')).
API (Contract) Testing
- Performing direct API testing using cy.request().
- Stubbing APIs with cy.intercept() to handle edge cases.
- Ensuring stable integration between frontend and backend.
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 + demo + hands-on exercises Prerequisites: basic JS knowledge, VSCode, Git
Day 2 – Advanced Practices & CI/CD
Building Complex Tests
- Automating comprehensive user workflows.
- Managing state using cy.intercept and cy.session.
- Minimizing flaky tests while enhancing stability and execution speed.
Data-Driven Testing
- Storing test data within JSON files (fixtures).
- Executing parameterized tests that apply the same logic to multiple inputs.
Cypress Plugins
- Reporting tools: mochawesome, allure-cypress, junit-reporter.
- Interaction plugins: cypress-file-upload, cypress-real-events.
- Accessibility checks: cypress-axe, cypress-audit.
- Visual regression testing: cypress-image-snapshot.
- Enhancing maintainability: @testing-library/cypress, cypress-plugin-tab.
CI/CD with Cypress
- Integrating with GitHub Actions.
- Configuring the Node.js and Cypress environment for headless execution.
- Automating test runs triggered by push events or Pull Requests.
- Securely managing secrets.
Summary and conclusion
Requirements
- A foundational 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
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