Highlights
-
Introduction to Cypress
- Overview, features, and comparison with Selenium
- E2E vs component testing and use cases
- Best practices for reliable UI testing
-
Configuration
- Environment setup and Cypress installation
- Integrating with design systems, libraries, and TypeScript
- Real-time testing with Cypress Test Runner
-
Cypress API
- Organizing tests, fixtures, and project structure
- Writing commands, queries, and assertions
- Handling async actions, retries, and timeouts
-
Advanced Testing
- Mocking/stubbing network requests and testing third-party libraries
- Cross-browser testing setup and management
-
CI/CD Integration
- Setting up Cypress in CI with Jenkins, GitHub Actions, and more
- Parallel testing, load balancing, and reporting
-
Plugins & Ecosystem
- Popular Cypress plugins for visual testing and code coverage
- Developing custom plugins for project needs
-
Hands-on Practice
- Testing real-world apps, debugging flaky tests, and solving common issues
Course Details
1. Introduction
- Cypress Overview
- Features and advantages
- Comparison with other tools (e.g., Selenium)
- E2E vs Component Testing
- Differences and use cases
- Best Practices for UI Testing
- Reliable test patterns, handling flaky tests
- DOM Testing Methods
- Interacting with and testing DOM elements
- Atomic Design and Design Systems
- Overview and how to test components in design systems
2. Configuration
- Environment Setup
- Node.js, npm, Cypress installation
- Installation and Configuration
- Setting up cypress.json, tsconfig.json, environment configurations
- Component Gallery/Styleguide
- Integrating Storybook or component galleries
- Styling and Component Libraries
- Working with Material-UI, Bootstrap, or custom libraries
- TypeScript Setup
- TypeScript integration, type safety, common pitfalls
- Test Runner
- Real-time testing, visual feedback, debugging
3. Cypress API
- Project Structure
- Organizing files: tests, fixtures, plugins, support
- Resources, Fixtures, Snapshots
- Using test data, reusable assets, API response snapshots
- Commands, Queries, Assertions
- Writing commands, querying elements, making assertions
- Selector Playground
- Generating stable selectors
- Chainable API & Asynchronicity
- Handling async actions, chaining commands
- Aliases, Auto-wait, Retry, Timeout
- Using aliases, auto-waiting, retries, timeouts
4. Advanced Testing
- Context, Fixtures, API Requests
- Managing test context, mock data, API calls
- Mocking & Stubbing
- Mocking network requests, testing third-party services
- Testing Third-party Libraries
- Handling Google Analytics, Intercom, Stripe, etc.
- Cross-browser Testing
- Setting up and managing browser-specific quirks
5. CI/CD Integration
- Continuous Integration Setup
- Jenkins, GitHub Actions, CircleCI configuration
- Parallel Testing & Load Balancing
- Optimizing tests for speed
- Test Reporting & Debugging
- Integrating reports, analyzing failures (video/screenshots)
6. Cypress Plugins & Ecosystem
- Popular Plugins
- Visual testing, code coverage, cross-browser plugins
- Custom Plugins
- Writing and configuring project-specific plugins
7. Hands-on Practice
- Real-world App Testing
- Testing forms, API requests, and components
- Debugging Common Issues
- Solving flaky tests, timeout errors
Who should attend
- Frontend Developers looking to enhance their testing skills and streamline web application testing with Cypress.
- QA Engineers wanting to adopt modern, reliable end-to-end testing practices for web applications.
- Test Automation Engineers seeking a faster, more efficient alternative to traditional testing tools like Selenium.
- Full-stack Developers interested in writing robust UI and API tests using an integrated tool.
- Engineering Leads aiming to implement a solid testing framework and improve team productivity.
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022