Cypress Io Master Class

Cypress in detail. 36 hours of in-depth content, e-commerce store for real life experience and 400+ code examples.

Last updated 2022-01-10 | 4.6

- By the end of this course
- you will be able to build simplistic to advanced automation tests for any Web Application using Cypress
- You will gain advanced knowledge to build both UI and API tests
- Learn XHR/API testing using Cypress for building smart Automation tests

What you'll learn

By the end of this course
you will be able to build simplistic to advanced automation tests for any Web Application using Cypress
You will gain advanced knowledge to build both UI and API tests
Learn XHR/API testing using Cypress for building smart Automation tests
Complete understanding of Cypress components for generating test execution videos
screenshots & reports
You will understand how to execute your tests in parallel using a CI system (Jenkins & Agents)
You will learn advanced architectural concepts (Page Object Modelling and more)

* Requirements

* Some knowledge of programming would be beneficial (not critical)
* Some basic JS
* HTML and CSS knowledge would also be useful (not critical)

Description

This is the most detailed Cypress course on Udemy. It includes 36 hours of content, 400+ code examples, comes with a dedicated e-commerce store to gain real world experience and covers every subject in great detail. You will learn Cypress to an advanced level and gain a competitive edge to meet job requirements.


Cypress is a JavaScript End to End Testing Framework that is popular and still growing in popularity due to the great features and how easy it is to write tests.

Key Topics this course covers:

  • Fundamentals of Cypress io

  • Setting up Cypress cleanly

  • Creating a range of UI and API tests (beginner to advanced level)

  • Statics gathering and analysis using the Cypress dashboard

  • Triggering tests using a CI system (Jenkins)

  • Parallel test execution (in great detail)

  • Advanced API testing

  • Advanced reporting

  • And much more (check out the course syllabus)

Key Features of Cypress:

  1. Easy setup - Installing Cypress is simple. No dependencies, extra downloads, or changes to your code required.

  2. Write tests - Write tests easily and quickly, and watch them execute in real time as you build your web application.

  3. Run tests - Debugging your tests in CI is as easy as running tests locally. With built in parallelization and load balancing.

  4. Record tests - Record CI test data, screenshots and video - and view aggregated, next-level insights in your Dashboard.

Benefits of Cypress:

  1. Developer friendly - Cypress has been made specifically for developers and QA engineers, to help them get more done.

  2. Open source - Cypress benefits from our amazing open source community - and Cypresses tools are evolving better and faster than if we worked on them alone.

  3. Built from the ground up - Cypress is based on a completely new architecture. No more Selenium. Lots more power.

What sets Cypress apart?

  1. Time travel - Cypress takes snapshots as your tests run. Simply hover over commands in the Command Log to see exactly what happened at each step.

  2. Debugging - Stop guessing why your tests are failing. Debug directly from familiar tools like Chrome DevTools. The readable errors and stack traces make debugging lightning fast.

  3. Real time reloads - Cypress automatically reloads whenever you make changes to your tests. See commands execute in real time in your app.

  4. Automatic waiting - Never add waits or sleeps to your tests. Cypress automatically waits for commands and assertions before moving on. No more async hell.

Why this course?

  1. This course combines all of the BEST free knowledge that is out there in one place

  2. This course is taught by a real automation test engineer that is an automation test lead at his place of employment

  3. This course has been designed, refined and perfected to maximise the learning experience

  4. This course perfects the teaching techniques by experience learned from the mentors previous courses

  5. Before and after code examples provided on almost every coding lecture

  6. Questions usually always answered in 24 hours

  7. Course recorded using high quality recording software and microphone to give the best learning experience

This is the course I wish I had when learning Cypress. This course makes learning Cypress easy and enjoyable. Learn the right way from an experienced instructor.

Who this course is for:

  • Students completely new to automation testing
  • Manual testers looking to enter the automation testing space
  • Anyone interested in automation testing and wanting to learn one of the most popular frameworks out there
  • Front end developers interested in automation testing using a language they will be familiar with
  • Intermediate and advanced students wanting to learn new concepts and techniques

Course content

66 sections • 323 lectures

What is Cypress? Preview 05:19

Why Learn Cypress? Preview 01:07

How does Cypress Work? Preview 08:24

What are the Key Differences between Cypress and other Automation Tools? Preview 04:00

Want to delve deeper into Cypress’s Code? Preview 01:08

Cypress Demo Preview 05:48

Cypress Chat Preview 01:14

Future Course & Cypress Updates - [Must Watch!] Preview 04:16

Other Courses - (Coupon Codes) Preview 00:09

Chrome & Firefox Browser Installation Preview 00:51

Prerequisites - [NodeJS Setup] Preview 00:15

NodeJs Setup Preview 02:51

Gitbash Setup Preview 03:55

VS Code Installation & Configuration Preview 03:35

Please Read - [Important] Preview 00:18

Cypress Installation & Setup Preview 09:45

NPM Installation & Update Preview 04:47

Opening Cypress for the First Time! Preview 03:32

Please Read - [Cypress Test Runner] Preview 00:19

Cypress Test Runner Preview 11:47

Cypress Project Structure Preview 10:27

Mocha - Overview Preview 03:24

Constructing our First Test using Mocha Preview 08:26

Command Activation & Inspecting Specific Cypress Commands Preview 04:43

Visit & Click Command Preview 11:11

Click Options Preview 07:17

Type Command Preview 04:35

Challenge - Overview Preview 01:32

Challenge - Solution Preview 06:26

Creating Our Second Cypress Test - (Negative Test Case) Preview 04:54

Targeting Individual Tests via Mocha Preview 02:01

Why do we need Selectors? Preview 04:53

Document Object Model (DOM) & Elements Preview 06:53

Practical In Depth Look into Selectors - Part 1/2 Preview 09:46

Practical In Depth Look into Selectors - Part 2/2 Preview 05:43

Selector Generator Tools Preview 05:48

CSS Selectors Preview 08:44

Xpath Selectors - Part 1/3 Preview 05:45

Xpath Selectors - Part 2/3 Preview 08:30

Xpath Selectors - Part 3/3 Preview 09:08

Improving our Tests with Dynamic Selectors Preview 10:21

More Selector Examples! Preview 03:37

Want to Learn how to Create more Advanced / Sophisticated Selectors? Preview 00:09

Why do we need Assertions? Preview 01:28

Chai Assertions & Cypress Examples Preview 04:17

Adding Assertions to our Existing Tests Preview 03:55

Chai JQuery Preview 05:28

Assertion - Challenge Preview 01:28

Assertion Challenge - Solution Preview 05:09

Cypress Contains Preview 06:05

Headless Electron Browser Preview 07:03

Non Headless Electron Browser Preview 04:59

Non Headless Chrome Browser Preview 03:05

Trigger Individual Tests Preview 04:43

Cypress Chaining Commands - Introduction Preview 05:38

More Examples of Command Chaining - get, find, contains, eq - Part 1/2 Preview 09:05

More Examples of Command Chaining - get, find, contains, eq - Part 2/2 Preview 08:35

Synchronous vs Asynchronous - Overview Preview 03:51

Synchronous - Example Preview 07:00

Asynchronous - Example Preview 07:50

Cypress Asynchronous Nature Preview 04:01

Promises Real World Example Preview 09:39

Cypress and Promises Preview 04:03

then Command Preview 08:56

Promise - Challenge Preview 01:13

Promise Challenge - Solution Preview 05:46

Variables - Part 1/4 Preview 07:50

Variables - Part 2/4 Preview 07:03

Variables - Part 3/4 Preview 09:54

Variables - Part 4/4 Preview 05:39

Variables, Promises & Nested Closures - Part 1/2 Preview 11:33

Variables, Promises & Nested Closures - Part 2/2 Preview 08:35

Iterating through Elements - Documentation & Preparation Preview 08:43

Practical Example of Iterating through Elements - Part 1/2 Preview 06:20

Practical Example of Iterating through Elements - Part 2/2 Preview 05:55

Alias & Invoke - Documentation Preview 06:00

Alias & Invoke - Practical Example Preview 09:44

Alias & Invoke - Challenge Preview 02:43

Alias & Invoke - Solution Preview 09:53

Combining Alias , Invoke, Variables & Iterating through Data - Part 1/5 Preview 08:09

Combining Alias , Invoke, Variables & Iterating through Data - Part 2/5 Preview 08:57

Combining Alias , Invoke, Variables & Iterating through Data - Part 3/5 Preview 08:26

Combining Alias , Invoke, Variables & Iterating through Data - Part 4/5 Preview 10:47

Combining Alias , Invoke, Variables & Iterating through Data - Part 5/5 Preview 05:02

Handling Multiple Browser Tabs Preview 12:06

Same Origin Policy - Example 1/2 Preview 09:48

Same Origin Policy - Example 2/2 Preview 05:43

Back, Forward, Reload - Part 1/2 Preview 08:56

Back, Forward, Reload - Part 2/2 Preview 07:37

Back, Forward, Reload - Challenge Preview 01:20

Back, Forward, Reload - Challenge Solution Preview 03:54

Handing Alerts - Documentation Preview 03:54

Handling Alerts - Example 1/2 Preview 09:23

Handling Alerts - Example 2/2 Preview 06:26

Alert - Challenge Preview 00:47

Alert Challenge - Solution Preview 07:40

Handling Alerts with Stubs Preview 09:17

Handling Iframe's - Part 1/2 Preview 09:43

Handling Iframe's - Part 2/2 Preview 10:47

Handling Checkboxes - Part 1/2 Preview 07:25

Handling Checkboxes - Part 2/2 Preview 03:39

Handling Checkboxes - Challenge Preview 01:20

Handling Checkboxes - Solution Preview 03:36

Selecting Multiple Checkboxes Preview 06:22

Handling Radio Buttons Preview 09:50

Validating States of Radio Buttons (Checked & Unchecked) Preview 09:32

Handling Drop-down Lists - Part 1/2 Preview 08:50

Handling Drop-down Lists - Part 2/2 Preview 03:11

Drop-down List - Challenge Preview 00:37

Drop-down List - Solution Preview 03:20

Handling Autocomplete Lists - Part 1/2 Preview 07:31

Handling Autocomplete Lists - Part 2/2 Preview 08:15

Autocomplete - Challenge Preview 01:30

Autocomplete - Challenge Solution Preview 05:11

$el.click() Deprecated; (method) JQuery.click() Preview 02:41

Scroll into View Preview 06:15

Drag & Drop Preview 08:20

Double Click Preview 03:05

Click, Hold & Assertions Preview 06:49

Handling Data - Example 1 - Part 1/3 Preview 07:55

Handling Data - Example 1 - Part 2/3 Preview 10:43

Handling Data - Example 1 - Part 3/3 Preview 05:39

Handling Data - Example 2 - Part 1/2 Preview 08:07

Handling Data - Example 2 - Part 2/2 Preview 08:26

Handling Date Pickers - Part 1/5 Preview 11:07

Handling Date Pickers - Part 2/5 Preview 10:23

Handling Date Pickers - Part 3/5 Preview 10:36

Handling Date Pickers - Part 4/5 Preview 13:54

Handling Date Pickers - Part 5/5 Preview 11:01

Introduction & Preparation Preview 07:41

Uploading File(s) Preview 07:00

Uploading no File(s) Preview 01:23

Hooks - Documentation & Practical Example Preview 09:45

Hooks - Improving Existing Tests Preview 05:26

Hooks - Challenge Preview 01:33

Hooks - Challenge Solution Preview 03:58

Fixtures - Documentation Preview 03:55

Fixtures & Data Driven Testing - Part 1/2 Preview 08:00

Fixtures & Data Driven Testing - Part 2/2 Preview 05:48

Alias & Fixtures Preview 10:24

Custom Commands - Documentation & Practical Example - Part 1/2 Preview 08:35

Custom Commands - Documentation & Practical Example - Part 2/2 Preview 04:22

Custom Commands - Challenge Preview 01:43

Custom Commands - Challenge Solution Preview 06:00

Using Custom Commands to Further Improve our Framework - Part 1/2 Preview 10:57

Using Custom Commands to Further Improve our Framework - Part 2/2 Preview 10:12

Custom Commands & Fixtures - Wrap Up - Part 1/3 Preview 10:42

Custom Commands & Fixtures - Wrap Up - Part 2/3 Preview 07:30

Custom Commands & Fixtures - Wrap Up - Part 3/3 Preview 07:24

Prerequisites - (Please Watch) Preview 00:18

Environment Variables Preview 12:16

Setting up a Base URL Preview 05:40

Dynamic URL's Preview 13:15

Dynamic URL's & Custom Commands - Example 1/2 Preview 03:35

Dynamic URL's & Custom Commands - Example 2/2 Preview 04:04

Page Object Modelling - Part 1/6 Preview 11:26

Page Object Modelling - Part 2/6 Preview 09:04

Page Object Modelling - Part 3/6 Preview 12:32

Page Object Modelling - Part 4/6 Preview 07:01

Page Object Modelling - Part 5/6 Preview 10:00

Page Object Modelling - Part 6/6 Preview 08:48

Altering Viewports - Configuring Size and Orientation Preview 04:47

Cypress Dashboard - Practical Example Part 1/2 Preview 10:30

Cypress Dashboard - Practical Example Part 2/2 Preview 11:20

Prerequisites - (Please Watch) Preview 00:16

Npx Preview 05:05

Npm scripts - Part 1/2 Preview 09:14

Npm scripts - Part 2/2 Preview 05:26

JUnit Reporter Preview 11:19

JUnit - Merging Reports Preview 05:10

Npm Scripts - Merge & Delete JUnit Reports Preview 09:31

Mochawesome Reporter Preview 10:05

Mochawesome - Merging Reports Preview 05:47

Npm Scripts - Merge & Delete Mochawesome Reports Preview 04:41

Npm Scripts - Merging & Deleting All Reports Preview 08:54

Custom Config File - Overview & Creation Preview 07:26

Adding Logic to our Custom Config File Preview 10:49

Injecting Custom Config File Logic into our Framework Preview 09:08

Using Custom Config File Settings during Runtime Preview 09:01

Adding Retry Logic to Framework Preview 05:24

Adding Retry Logic to Tests Preview 04:06

Adding Retry Logic to NPM Scripts Preview 09:27

GitHub - Account Creation & Login Preview 03:48

Visual Studio Code & GitHub - Setup Preview 11:54

Committing and Pushing our Code (Framework) to GitHub - Part 1/2 Preview 10:45

Committing and Pushing our Code (Framework) to GitHub - Part 2/2 Preview 11:14

Pushing & Pulling New Changes Preview 07:47

Triggering Tests Using New Repo & Code - (Cypress Dashboard) Preview 07:48

GitHub Cypress App - [Homework] Preview 01:48

NPM Scripts - Multi Browser Testing Preview 10:47

Configuring Code & Tests for Specific Browsers Preview 08:15

Jenkins (CI) - Overview Preview 05:29

Java JDK - Download & Setup Preview 08:55

Java JDK - Download & Setup - Mac, Ubuntu, Linux…. Preview 01:46

Jenkins - Download & Setup Preview 08:08

Jenkins - Overview Preview 04:32

Jenkins Plugins - Download & Setup Preview 05:18

Jenkins - Configuration Preview 06:19

Jenkins - Job Creation Preview 11:57

Jenkins Build(s) - Triggering Cypress Tests - Part 1/2 Preview 05:29

Jenkins Build(s) - Triggering Cypress Tests - Part 2/2 Preview 08:17

Linking Jenkins & Cypress Dashboard Preview 10:10

Prerequisites - (Please Watch) Preview 00:11

Cypress Dashboard - Pricing Plans Preview 04:12

Parallelization - Documentation Preview 07:39

Parallelization - Architecture Overview - (Real World Example) Preview 04:45

Making Jenkins Assessable Via Local Network Preview 04:09

Jenkin’s Nodes (Agents) - Setup - Part 1/2 Preview 10:41

Jenkin’s Nodes (Agents) - Setup - Part 2/2 Preview 04:40

Jenkins Pipeline Job - Overview Preview 04:44

Jenkins Pipeline Script – Creation - Part 1/2 Preview 11:06

Jenkins Pipeline Script – Creation - Part 2/2 Preview 07:44

Jenkins Pipeline Job - Creation Preview 06:05

Jenkins Nodes (Agents) - Activation Preview 06:52

Parallelization In Action! Preview 11:36

Parallelization In Action! - Chrome Headed Mode Preview 05:18

Triggering Different Test Suites in Parallel Preview 11:38

Automating Test Suite(s) Execution Preview 05:49

Prerequisite - (Please Watch) Preview 00:21

API & JSON - Overview Preview 10:39

JSON - Practical Example - Part 1/2 Preview 09:43

JSON - Practical Example - Part 2/2 Preview 12:58

JSON - Challenge Preview 02:32

JSON - Solution Preview 05:23

Postman - Installation Preview 03:16

JSON Server - Installation Preview 10:17

GET - Request via Postman Preview 05:26

POST - Request via Postman Preview 08:44

PUT - Request via Postman Preview 04:36

DELETE - Request via Postman Preview 02:57

JSON Server & Cypress Integration Preview 05:20

GET - Request via Cypress - Validate Status Code Preview 08:25

GET Request - Validate Keys & Values Preview 10:38

GET Request - Loop Through & Assert Response Preview 06:52

POST Request - Validate Status Code Preview 09:14

POST Request - Post & Validate Properties Preview 12:34

POST Request - Dynamic Data Preview 05:34

UPDATE Request via Cypress Preview 05:54

DELETE Request via Cypress Preview 03:54

API - Challenge Overview Preview 05:32

API - Challenge Solution - Part 1/2 Preview 14:31

API - Challenge Solution - Part 2/2 Preview 06:51

XHR Testing - Overview Preview 03:45

XHR - Project Setup Preview 11:22

Get Request - XHR Testing Preview 12:45

Mocking Get Requests by Stubbing Responses Preview 08:58

Post Request - XHR Testing Preview 16:26

Put Request - Stubbing Server Response - XHR Testing Preview 13:26

Real world Example - Project Setup & Cypress Integration Preview 06:53

Real world Example - Manual Account Creation Preview 07:57

Real world Example - Automating Account Creation Preview 16:55

Real world Example - UI & XHR Validation Preview 19:10

Real world Example - Automating Account Login Preview 09:00

Real world Example - Mocking Data Preview 11:37

Real world Example - Mocking Data - Challenge Overview Preview 02:11

Real world Example - Mocking Data - Challenge Solution Preview 16:16

Prerequisite - (Please Watch) Preview 00:21

Project Setup - Challenge Overview Preview 02:06

Project Setup - Challenge Solution Preview 09:29

Signup Test - Challenge Overview Preview 01:42

Signup Test - Challenge Solution - Part 1/3 Preview 10:10

Signup Test - Challenge Solution - Part 2/3 Preview 08:05

Signup Test - Challenge Solution - Part 3/3 Preview 04:26

Login Test - Challenge Overview Preview 01:42

Login Test - Challenge Solution - Part 1/2 Preview 07:01

Login Test - Challenge Solution - Part 2/2 Preview 03:36

API Testing - Challenge Overview Preview 05:13

API Testing - Challenge Solution Preview 10:23

API Authentication - Token Extraction Preview 09:10

API Authentication - Loading Token & Login - (Non UI) Preview 13:03

Prerequisite - (Please Watch) Preview 00:18

Cypress Studio Preview 10:03

Prerequisite - (Please Watch) Preview 00:22

What is Cucumber BDD? Preview 10:01

Mocha vs Cucumber BDD Preview 06:33

Setting up Cucumber BDD Preview 05:10

Feature File & Scenario - Creation Preview 09:22

Step Definitions - Creation: Part 1/2 Preview 12:59

Step Definitions - Creation: Part 2/2 Preview 06:00

Adding Hook(s) Preview 09:34

Creating Multiple Scenario's Preview 05:09

Data Driven Testing -> Scenario Outlines Preview 08:49

Tags & Custom Scripts Preview 11:15