Cypress Automation Testing Online Course
Cypress Automation Testing Online Course
This course introduces Cypress, comparing it with Selenium and highlighting its architectural advantages in automation. It covers installation, setup, syntax, and test structure, as well as key Cypress features like selectors, assertions, and asynchronous handling. The course explores interactions with web UI elements, handling windows, tabs, popups, and frames, and addresses common challenges. It also covers POM, environment variables, API testing, and advanced tools like Git, GitHub, Jenkins, and CSS selectors.
Who is this course meant for?
- Ideal for a broad range of software testing roles.
- Beneficial for QA professionals and manual testers transitioning to automation.
- Enhances skills for fresh graduates in software engineering.
- Provides QA team leads and managers with insights into automation tools and best practices.
- Suitable for all experience levels in QA and testing.
- No prior automation or coding experience required; JavaScript concepts are included.
What you will learn
- Understand Cypress architecture and its comparison with Selenium.
- Learn to handle Cypress's asynchronous nature and promises.
- Conduct implicit and explicit assertions in testing.
- Interact with web UI elements like checkboxes, dropdowns, and mouseover events.
- Perform API automation with Cypress.
- Integrate Jenkins for continuous integration and management.
Course Table of Contents
Introduction
- Introduction And Course Outcome
- Cypress Architecture and Cypress vs Selenium
Tools Installation And Project Setup
- NodeJS VS Code And Project Setup – Windows
- NodeJS VS Code And Project Setup – Mac
Cypress Setup And Project Structure
- Cypress Installation
- Cypress Test Runner Introduction
- Exploring Cypress Folder Structure
- How To Update Cypress Version
Getting Started With Cypress Automation
- Cypress Syntax And First Test Case
- How To Run Cypress Automation Using Commands
- Cypress Intellisense With VS Code
- Cypress Locator Strategy And Selector Playground
- Get Method And CSS Selectors Implementation
Using XPath With Cypress
- Working With Cypress XPath
Deep Dive Into Cypress Concepts
- Get Command Details
- How To Chain Commands
- Within Command Details
- Find Command - How to work with child elements
Asynchronous Nature
- Synchronous Vs Asynchronous Nature
- Cypress Promise Handling
Cypress Assertions
- Implicit Subject Assertions
- Explicit Subject Assertions
- Default And Common Assertions
Web UI Interactions
- How To Click On Element - Multiple Ways
- Double And Right Click On Element
- How To Type And Clear Element
- Checkbox and Radio Button Interaction
- How To Work With Dropdown Elements
- How To Mouseover - Trigger Command
- How To Mouseover - Invoke Command
Working With Element List
- Each And Wrap Command - For Loop
- Element List Iteration
- AutoSuggest Dynamic Dropdown
Working With Windows-Tabs-Popups-Frames
- JavaScript Alert And Confirm Popups
- Working With Multiple Tabs
- Working With Multiple Windows
- Working With Iframes
Common Challenges
- Send Empty Data - Handle Uncaught Exceptions
Framework Preparation
- Hooks Explained
- Include Exclude From Test Execution
- Fixtures - Handling Test Data
- Fixtures - Run Same Test With Multiple Data
- Custom Commands - Create Your Own Cypress Command
- Custom Commands - Real World Examples
Page Object Model Framework
- What is a Framework?
- What is Page Object Model?
- No Framework Test Suite
- Create Page Object Test Suite
- Framework Refactor - Remove Hard Coded Data
Reporting And Cloud Dashboard
- Test Execution Screenshots And Videos
- Retry Failed Test Cases
- Awesome Reports Generation
- Awesome Reporter Options
- Cypress Cloud Dashboard
Advanced Features
- How to use Environment Variables
- Experimental Feature - Safari Webkit
API Testing Concepts
- RestAPI Architecture - Part 1
- RestAPI Architecture - Part 2
- What Are Endpoints
- GET-POST-PUT-DELETE
- Understanding Headers
- What To Verify In RestAPI Testing
Cypress API Automation
- Practice Resources And Postman Account
- How To Make A Get Request
- How To Use Alias
- POST Request - Multiple Examples
- Request Chaining
- POST-PUT-Delete - Complete Workflow
- Code Refactor - Complete Workflow
- Working With OAuth 2.0
Git And GitHub - Version Control System
- Git and GitHub Introduction
- Git Installation on Windows
- Git Installation on Mac
- Create Local Git Repo - Staging And Commit
- File Checkin - GitHub Remote Repository
- Advantages and Importance of Git Branches
- File Checkin and Resolve Merge Conflicts - Real Time Example
- Course Code Files On GitHub
- GitHub Project Check-in And Git Clone
Continuous Integration With Jenkins
- Jenkins Features And Advantages
- Jenkins Prerequisites
- Jenkins Setup And Installation - Generic WAR File
- Jenkins Setup And Installation – Windows
- Jenkins Setup And Installation – Mac
- Securing Jenkins
- Jenkins Plugins Management
- Building A Remote Project Using Git And Jenkins
CSS Selectors - Advanced Locators
- Using Ids With CSS Selectors To Find Elements
- Using Multiple CSS Classes To Find Elements
- Using Wildcards With CSS Selectors
- Finding Child Nodes Using CSS Selectors