Cypress Automation Testing (Hands-On Learning) Curriculum
๐ WEEK 1: Automation Foundations & Cypress Setup
Theme: Introduction to Automation & Cypress Ecosystem
Session 1:
- What is Test Automation?
- Manual vs Automation Testing
- Where Cypress fits in the Testing Pyramid
- Real-world use cases of Cypress in companies
- Cypress vs Selenium vs Playwright
Session 2:
- Environment setup a. Node.js installation
- Cypress folder structure explained
- First Cypress Test a. Writing and running a simple test
b. IDE setup (VS Code)
c. Cypress installation
b. Using describe, it, and assertions
โ Practical:
- Install Cypress
- Write and execute first test on sample login page
๐ WEEK 2: Core Cypress Commands & Selectors
Theme: Interacting with UI Elements
Session 3:
- Cypress Test Runner & Interface tour
- Locators strategy a. CSS Selectors
- Cypress basic commands: a. cy.visit()
b. XPath Selectors
c. Data-test attributes
d. Best practices for selecting elements
b. cy.get()
c. cy.contains()
d. cy.click()
e. cy.type()
f. cy.should()
Session 4:
- Assertions with Chai a. should()
- Handling input fields, dropdowns, checkboxes, radio buttons
- Validating text, attributes and element visibility
b. expect()
โ Practical::
- Automate Login Flow
- Validate error messages and success states
๐ WEEK 3: Page Object Model & Test Structuring
Theme: Writing Maintainable Tests
Session 5:
- Why Page Object Model (POM) matters
- Folder structure for scalable framework
- Creating Page Classes
- Separating test logic from UI logic
Session 6:
- Implement Login using POM
- Reusable functions & custom commands
- Environment variables and config setup
โ Practical:
- Refactor previous tests using POM
- Implement reusable login command
๐ WEEK 4: Advanced UI Handling
Theme: Real-world UI Challenges
Session 7:
- Handling: a. Modals & Popups
b. Alerts & Confirm dialogs
c. Dynamic elements
d. Hidden elements
e. Cypress waits vs implicit retries
Session 8:
- Handling: a. File uploads
b. Date pickers
c. Hover events
d. Scroll and viewport testing
โ Practical:
- Automate complex form submission flow
MONTH 2 โ ADVANCED AUTOMATION & REAL PROJECT
๐ฏ Focus: Production-level Cypress Skills
๐ WEEK 5: Cypress API Testing + UI + API Integration
Theme: Hybrid Automation
Session 9:
- Introduction to API testing in Cypress
- cy.request()
- GET, POST, PUT, DELETE requests
- Validating API responses
Session 10:
- Using APIs to set up test data
- UI + API integration strategy
- Mocking API responses
โ Practical:
- Create user via API and validate on UI
๐ WEEK 6: Test Data Management & Fixtures
Theme: Scalability
Session 11:
- Fixtures and data-driven testing
- Using JSON test data
- Parameterized tests
Session 12:
- Faker.js for dynamic data generation
- Handling multiple environments
- Secrets & environment variables
โ Practical:
- Data-driven login & registration tests
๐ WEEK 7: CI/CD Integration & Reporting
Theme: Enterprise-Level Automation
Session 13:
- Cypress execution in Headless mode
- Cypress configuration for CI
- Introduction to GitHub Actions / GitLab CI
- Running Cypress in pipeline
Session 14:
- Test reporting a. Mochawesome
b. Allure Reports
c. Debugging failures in CI
โ Practical:
- Integrate Cypress into CI pipeline
๐ WEEK 8: Real Project Automation + Optimization
Theme: Real-World Application Testing
Session 15:
- Full project automation walkthrough
- Application: https://www.qacar.online/
- Writing end-to-end scenarios: a. Login
b. Trip search
c. Booking flow
Session 16:
- Best practices & optimization: a. Handling flaky tests
b. Performance improvements
c. Cypress best patterns
d. Final Project Review
e. Career roadmap for Automation QA
โ Capstone Project:
- Automate a complete user journey on a live application
- Project presentation + code review
๐งช Tools & Stack Covered
- Cypress
- JavaScript (ES6+)
- Git & GitHub
- VS Code
- Node.js
- CI/CD (GitHub Actions)
- Faker.js
- Mochawesome / Allure Reports
๐ Learning Outcomes
By the end of this 2-month program, students will be able to:
- Automate complete UI workflows
- Implement Page Object Model architecture
- Write scalable automation frameworks
- Perform API + UI hybrid tests
- Integrate Cypress into CI/CD pipelines
- Handle real-world automation challenges