Get in Touch

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
 14 Hours

Testimonials (4)

Upcoming Courses

Related Categories