Course Outline
Day 1 – Introduction and Foundations
Introduction
- The position of Cypress within the software testing hierarchy
- Configuration of the test automation environment using Node LTS and npm
- Initialization of a basic Cypress project structure
- Execution of initial smoke end-to-end tests in both graphical user interface and headless modes
Core Concepts
- Foundational Cypress principles, including the command queue mechanism and automatic retry functionality
- Application of lifecycle hooks: before, beforeEach, afterEach, and after
- Utilization of aliases and code reusability techniques (.as(), cy.get('@alias'))
API (Contract) Testing
- Direct API validation using Cypress (cy.request())
- API mocking via cy.intercept() to address edge cases
- Verification of stability in frontend-backend integration
Custom Cypress Commands
- Consolidation of repetitive actions (login, navigation) into custom commands
- Enhancement of code maintainability through reusable function calls (cy.login())
Agenda: theoretical instruction, demonstration, and practical exercises. Prerequisites: foundational JavaScript knowledge, VSCode, and Git.
Day 2 – Advanced Methodologies and Continuous Integration
Developing Complex Tests
- Automation of comprehensive user workflows
- State management utilizing cy.intercept and cy.session
- Mitigation of unstable tests to enhance reliability and execution speed
Data-Driven Testing
- Management of test data through JSON files (fixtures)
- Execution of parameterized tests applying identical logic to diverse inputs
Cypress Extensions
- Reporting tools: mochawesome, allure-cypress, junit-reporter
- Interaction utilities: cypress-file-upload, cypress-real-events
- Accessibility verification: cypress-axe, cypress-audit
- Visual regression analysis: cypress-image-snapshot
- Maintainability enhancements: @testing-library/cypress, cypress-plugin-tab
Continuous Integration/Delivery Integration
- Integration with GitHub Actions
- Configuration of Node.js and Cypress environments for headless execution
- Automated test execution triggered by code pushes or pull requests
- Secure management of confidential credentials
Review and Closing Remarks
Requirements
- A foundational understanding of software testing principles
Target Audience
- Software testers and quality assurance professionals
Testimonials (4)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
The instructor's teaching style was very good.
Kubra
Course - Automation Testing using Selenium
Key topics can be discussed and agreed upon with the trainer in advance. Relaxed and pleasant atmosphere during the seminar days.
Lorenz - Continentale Lebensversicherung AG
Course - Advanced Selenium
I gained new knowledge and I'm pretty confident about it. Nothing unclear.