Cypress V6- UI Automation Testing + API Testing + Frameworks

36h 56m 3s
English
Paid

Course description

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.

Read more about the course

Requirements:

  • Some knowledge of programming would be beneficial (not critical)

  • Some basic JS, HTML and CSS knowledge would also be useful (not critical)

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

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

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)

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 326 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Cypress V6- UI Automation Testing + API Testing + Frameworks

0:00
/
#1: What is Cypress?

All Course Lessons (326)

#Lesson TitleDurationAccess
1
What is Cypress? Demo
05:20
2
Why Learn Cypress?
01:08
3
How does Cypress Work?
08:25
4
What are the Key Differences between Cypress and other Automation Tools?
04:01
5
Want to delve deeper into Cypress’s Code?
01:09
6
Cypress Demo
05:49
7
Cypress Chat
01:15
8
Future Course & Cypress Updates - [Must Watch!]
02:32
9
Chrome & Firefox Browser Installation
00:52
10
NodeJs Setup
02:52
11
Gitbash Setup
03:56
12
VS Code Installation & Configuration
03:36
13
Cypress Installation & Setup
08:02
14
NPM Installation & Update
04:48
15
Opening Cypress for the First Time!
04:08
16
Cypress Test Runner
11:48
17
Cypress Project Structure
10:28
18
Keeping Cypress Up to Date
05:29
19
Cypress API - Overview
04:00
20
Cypress Updates - (Change Logs)
03:40
21
Systems Under Test
02:27
22
Mocha - Overview
03:25
23
Constructing our First Test using Mocha
08:27
24
Command Activation & Inspecting Specific Cypress Commands
04:44
25
Visit & Click Command
11:12
26
Click Options
07:18
27
Type Command
04:36
28
Challenge - Overview
01:33
29
Challenge - Solution
06:27
30
Creating Our Second Cypress Test - (Negative Test Case)
04:55
31
Targeting Individual Tests via Mocha
02:02
32
Running Tests in Chrome, Electron & Firefox
03:04
33
Why do we need Selectors?
04:54
34
Document Object Model (DOM) & Elements
06:54
35
Practical In Depth Look into Selectors - Part 1/2
09:24
36
Practical In Depth Look into Selectors - Part 2/2
05:44
37
Selector Generator Tools
05:49
38
CSS Selectors
08:45
39
Xpath Selectors - Part 1/3
05:46
40
Xpath Selectors - Part 2/3
08:31
41
Xpath Selectors - Part 3/3
09:09
42
Improving our Tests with Dynamic Selectors
10:22
43
More Selector Examples!
03:38
44
Why do we need Assertions?
01:29
45
Chai Assertions & Cypress Examples
04:18
46
Adding Assertions to our Existing Tests
03:56
47
Chai JQuery
05:29
48
Assertion - Challenge
01:29
49
Assertion Challenge - Solution
05:10
50
Cypress Contains
06:06
51
cy.document()
07:11
52
cy.title()
04:22
53
cy.url()
04:39
54
Headless Electron Browser
07:04
55
Non Headless Electron Browser
05:00
56
Non Headless Chrome Browser
03:06
57
Trigger Individual Tests
04:44
58
Cypress Chaining Commands - Introduction
05:39
59
More Examples of Command Chaining - get, find, contains, eq - Part 1/2
09:06
60
More Examples of Command Chaining - get, find, contains, eq - Part 2/2
08:36
61
Synchronous vs Asynchronous - Overview
03:52
62
Synchronous - Example
07:01
63
Asynchronous - Example
07:51
64
Cypress Asynchronous Nature
04:02
65
Non Cypress Commands and Async Nature
03:48
66
Cypress log
02:44
67
Promises Real World Example
09:40
68
Cypress and Promises
04:04
69
then Command
08:57
70
Promise - Challenge
01:14
71
Promise Challenge - Solution
05:47
72
Variables - Part 1/4
07:51
73
Variables - Part 2/4
07:04
74
Variables - Part 3/4
09:55
75
Variables - Part 4/4
05:40
76
Variables, Promises & Nested Closures - Part 1/2
11:34
77
Variables, Promises & Nested Closures - Part 2/2
08:36
78
Iterating through Elements - Documentation & Preparation
08:44
79
Practical Example of Iterating through Elements - Part 1/2
06:21
80
Practical Example of Iterating through Elements - Part 2/2
05:56
81
Alias & Invoke - Documentation
06:01
82
Alias & Invoke - Practical Example
09:45
83
Alias & Invoke - Challenge
02:44
84
Alias & Invoke - Solution
09:54
85
Combining Alias , Invoke, Variables & Iterating through Data - Part 1/5
08:10
86
Combining Alias , Invoke, Variables & Iterating through Data - Part 2/5
08:58
87
Combining Alias , Invoke, Variables & Iterating through Data - Part 3/5
08:27
88
Combining Alias , Invoke, Variables & Iterating through Data - Part 4/5
10:48
89
Combining Alias , Invoke, Variables & Iterating through Data - Part 5/5
05:03
90
Cypress Limitations
03:41
91
Cypress Recipes
02:00
92
Handling Multiple Browser Tabs
12:07
93
Same Origin Policy - Example 1/2
09:49
94
Same Origin Policy - Example 2/2
05:44
95
Back, Forward, Reload - Part 1/2
08:57
96
Back, Forward, Reload - Part 2/2
07:38
97
Back, Forward, Reload - Challenge
01:21
98
Back, Forward, Reload - Challenge Solution
03:55
99
Handing Alerts - Documentation
03:55
100
Handling Alerts - Example 1/2
09:24
101
Handling Alerts - Example 2/2
06:27
102
Alert - Challenge
00:48
103
Alert Challenge - Solution
07:41
104
Handling Alerts with Stubs
09:18
105
Handling Iframe's - Part 1/2
09:44
106
Handling Iframe's - Part 2/2
10:48
107
Handling Checkboxes - Part 1/2
07:26
108
Handling Checkboxes - Part 2/2
03:40
109
Handling Checkboxes - Challenge
01:21
110
Handling Checkboxes - Solution
03:37
111
Selecting Multiple Checkboxes
06:23
112
Handling Radio Buttons
09:51
113
Validating States of Radio Buttons (Checked & Unchecked)
09:33
114
Handling Drop-down Lists - Part 1/2
08:51
115
Handling Drop-down Lists - Part 2/2
03:12
116
Drop-down List - Challenge
00:38
117
Drop-down List - Solution
03:21
118
Handling Autocomplete Lists - Part 1/2
07:32
119
Handling Autocomplete Lists - Part 2/2
08:16
120
Autocomplete - Challenge
01:31
121
Autocomplete - Challenge Solution
05:12
122
Scroll into View
06:16
123
Drag & Drop
08:21
124
Double Click
03:06
125
Click, Hold & Assertions
06:50
126
Traversal - Preparation
02:28
127
children()
07:13
128
closest()
05:26
129
eq()
06:43
130
filter()
06:06
131
find()
06:03
132
first()
06:50
133
last()
02:22
134
nextAll()
03:55
135
nextUntil()
04:29
136
not()
04:42
137
parent()
04:40
138
parents()
05:22
139
prev()
03:36
140
prevAll()
03:41
141
prevUntil()
05:31
142
siblings()
04:51
143
Handling Data - Example 1 - Part 1/3
07:56
144
Handling Data - Example 1 - Part 2/3
10:44
145
Handling Data - Example 1 - Part 3/3
05:40
146
Handling Data - Example 2 - Part 1/2
08:08
147
Handling Data - Example 2 - Part 2/2
08:27
148
Handling Date Pickers - Part 1/5
11:08
149
Handling Date Pickers - Part 2/5
10:24
150
Handling Date Pickers - Part 3/5
10:37
151
Handling Date Pickers - Part 4/5
13:55
152
Handling Date Pickers - Part 5/5
11:02
153
Introduction & Preparation
07:42
154
Uploading File(s)
07:01
155
Uploading no File(s)
01:24
156
Hooks - Documentation & Practical Example
09:46
157
Hooks - Improving Existing Tests
05:27
158
Hooks - Challenge
01:34
159
Hooks - Challenge Solution
03:59
160
Fixtures - Documentation
03:56
161
Fixtures & Data Driven Testing - Part 1/2
08:01
162
Fixtures & Data Driven Testing - Part 2/2
05:49
163
Alias & Fixtures
10:25
164
Custom Commands - Documentation & Practical Example - Part 1/2
08:36
165
Custom Commands - Documentation & Practical Example - Part 2/2
04:23
166
Custom Commands - Challenge
01:44
167
Custom Commands - Challenge Solution
06:01
168
Using Custom Commands to Further Improve our Framework - Part 1/2
10:58
169
Using Custom Commands to Further Improve our Framework - Part 2/2
10:13
170
Custom Commands & Fixtures - Wrap Up - Part 1/3
10:43
171
Custom Commands & Fixtures - Wrap Up - Part 2/3
07:31
172
Custom Commands & Fixtures - Wrap Up - Part 3/3
07:25
173
Cypress.config
06:51
174
Ignore Files
03:44
175
Environment Variables
12:17
176
Setting up a Base URL
05:41
177
Dynamic URL's
13:16
178
Dynamic URL's & Custom Commands - Example 1/2
03:36
179
Dynamic URL's & Custom Commands - Example 2/2
04:05
180
Page Object Modelling - Part 1/6
11:27
181
Page Object Modelling - Part 2/6
09:05
182
Page Object Modelling - Part 3/6
12:33
183
Page Object Modelling - Part 4/6
07:02
184
Page Object Modelling - Part 5/6
10:01
185
Page Object Modelling - Part 6/6
08:49
186
URL Timeouts
06:45
187
Explicit Timeouts
04:32
188
Assertion Timeouts
05:37
189
Pause
05:39
190
Wait
03:48
191
Cypress Debugger
10:44
192
Capturing Screenshots
12:43
193
Recording Videos
08:04
194
Altering Viewports - Configuring Size and Orientation
04:48
195
Clearing Cookies & Local Storage
03:27
196
Cypress Dashboard - Practical Example Part 1/2
10:31
197
Cypress Dashboard - Practical Example Part 2/2
11:21
198
Npx
05:06
199
Npm scripts - Part 1/2
09:15
200
Npm scripts - Part 2/2
05:27
201
JUnit Reporter
11:20
202
JUnit - Merging Reports
05:11
203
Npm Scripts - Merge & Delete JUnit Reports
09:32
204
Mochawesome Reporter
10:06
205
Mochawesome - Merging Reports
05:48
206
Npm Scripts - Merge & Delete Mochawesome Reports
04:42
207
Npm Scripts - Merging & Deleting All Reports
08:55
208
Custom Config File - Overview & Creation
07:27
209
Adding Logic to our Custom Config File
10:50
210
Injecting Custom Config File Logic into our Framework
08:39
211
Using Custom Config File Settings during Runtime
06:19
212
Retry Plugin - Installation
05:35
213
Adding Retry Logic to Framework
05:07
214
Adding Retry Logic to Tests
03:14
215
Adding Retry Logic to NPM Scripts
07:27
216
GitHub - Account Creation & Login
03:49
217
Visual Studio Code & GitHub - Setup
11:55
218
Committing and Pushing our Code (Framework) to GitHub - Part 1/2
10:46
219
Committing and Pushing our Code (Framework) to GitHub - Part 2/2
11:15
220
Pushing & Pulling New Changes
07:48
221
Triggering Tests Using New Repo & Code - (Cypress Dashboard)
07:49
222
GitHub Cypress App - [Homework]
01:49
223
NPM Scripts - Multi Browser Testing
10:48
224
Configuring Code & Tests for Specific Browsers
08:16
225
Jenkins (CI) - Overview
05:30
226
Java JDK - Download & Setup
08:56
227
Java JDK - Download & Setup - Mac, Ubuntu, Linux….
01:47
228
Jenkins - Download & Setup
08:09
229
Jenkins - Overview
04:33
230
Jenkins Plugins - Download & Setup
05:19
231
Jenkins - Configuration
06:20
232
Jenkins - Job Creation
11:58
233
Jenkins Build(s) - Triggering Cypress Tests - Part 1/2
05:30
234
Jenkins Build(s) - Triggering Cypress Tests - Part 2/2
08:18
235
Linking Jenkins & Cypress Dashboard
10:11
236
Cypress Dashboard - Pricing Plans
04:13
237
Parallelization - Documentation
07:40
238
Parallelization - Architecture Overview - (Real World Example)
04:46
239
Making Jenkins Assessable Via Local Network
04:10
240
Jenkin’s Slaves (Node’s) - Setup - Part 1/2
10:42
241
Jenkin’s Slaves (Node’s) - Setup - Part 2/2
04:41
242
Jenkins Pipeline Job - Overview
04:45
243
Jenkins Pipeline Script – Creation - Part 1/2
11:07
244
Jenkins Pipeline Script – Creation - Part 2/2
07:45
245
Jenkins Pipeline Job - Creation
06:06
246
Jenkins Node(s) (Agents) - Activation
06:53
247
Parallelization In Action!
11:37
248
Parallelization In Action! - Chrome Headed Mode
05:19
249
Triggering Different Test Suites in Parallel
11:39
250
Automating Test Suite(s) Execution
05:50
251
API & JSON - Overview
10:40
252
JSON - Practical Example - Part 1/2
09:44
253
JSON - Practical Example - Part 2/2
12:59
254
JSON - Challenge
02:33
255
JSON - Solution
05:24
256
Postman - Installation
03:17
257
JSON Server - Installation
10:18
258
GET - Request via Postman
05:27
259
POST - Request via Postman
08:45
260
PUT - Request via Postman
04:37
261
DELETE - Request via Postman
02:58
262
JSON Server & Cypress Integration
04:13
263
GET - Request via Cypress - Validate Status Code
08:26
264
GET Request - Validate Keys & Values
10:39
265
GET Request - Loop Through & Assert Response
06:53
266
POST Request - Validate Status Code
09:15
267
POST Request - Post & Validate Properties
12:35
268
POST Request - Dynamic Data
05:35
269
UPDATE Request via Cypress
05:55
270
DELETE Request via Cypress
03:55
271
API - Challenge Overview
05:33
272
API - Challenge Solution - Part 1/2
14:32
273
API - Challenge Solution - Part 2/2
06:52
274
XHR Testing - Overview
03:46
275
XHR - Project Setup
09:31
276
Get Request - XHR Testing
12:52
277
Mocking Get Requests by Stubbing Responses
08:05
278
Post Request - XHR Testing
11:33
279
Put Request - Stubbing Server Response - XHR Testing
10:16
280
Real world Example - Project Setup & Cypress Integration
06:59
281
Real world Example - Manual Account Creation
05:04
282
Real world Example - Automating Account Creation
13:26
283
Real world Example - UI & XHR Validation
10:15
284
Real world Example - Automating Account Login
08:41
285
Real world Example - Mocking Data
10:56
286
Real world Example - Mocking Data - Challenge Overview
03:28
287
Real world Example - Mocking Data - Challenge Solution
14:31
288
Project Setup - Challenge Overview
02:07
289
Project Setup - Challenge Solution
09:02
290
Signup Test - Challenge Overview
01:43
291
Signup Test - Challenge Solution - Part 1/3
10:11
292
Signup Test - Challenge Solution - Part 2/3
08:06
293
Signup Test - Challenge Solution - Part 3/3
04:27
294
Login Test - Challenge Overview
01:43
295
Login Test - Challenge Solution - Part 1/2
07:02
296
Login Test - Challenge Solution - Part 2/2
03:37
297
API Testing - Challenge Overview
05:14
298
API Testing - Challenge Solution
10:24
299
API Authentication - Token Extraction
09:11
300
API Authentication - Loading Token & Login - (Non UI)
13:04
301
Prerequisite - Please Watch!
04:41
302
Updating Cypress v4 to v5
02:41
303
Whitelist XHR (Update)
03:46
304
Cypress New Retry Ability - Intro
03:19
305
Migrating Retry-ability 'Functionality' to Cypress v5+
07:15
306
Adding Retry Logic to Framework
05:25
307
Adding Retry Logic to Tests
04:07
308
Adding Retry Logic to NPM Scripts
09:28
309
Prerequisite - Please Watch!
05:10
310
cy.intercept - Example 1: [Project: angular-realworld-example-app] - Part 1/2
08:59
311
cy.intercept - Example 1: [Project: angular-realworld-example-app] - Part 2/2
11:27
312
cy.intercept - Example 2: [Project: network-requests] - Part 1/3
08:55
313
cy.intercept - Example 2: [Project: network-requests] - Part 2/3
12:09
314
cy.intercept - Example 2: [Project: network-requests] - Part 3/3
06:59
315
Cypress Studio
10:04
316
$el.click() Deprecated; (method) JQuery<HTMLElement>.click()
02:42
317
What is Cucumber BDD?
10:02
318
Mocha vs Cucumber BDD
06:34
319
Setting up Cucumber BDD
05:11
320
Feature File & Scenario - Creation
09:23
321
Step Definitions - Creation: Part 1/2
13:00
322
Step Definitions - Creation: Part 2/2
06:01
323
Adding Hook(s)
09:35
324
Creating Multiple Scenario's
05:10
325
Data Driven Testing -> Scenario Outlines
08:50
326
Tags & Custom Scripts
11:16

Unlock unlimited learning

Get instant access to all 325 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Testing Next.js Apps with Jest, Testing Library and Cypress

Testing Next.js Apps with Jest, Testing Library and Cypress

Sources: udemy
Learn to test a real-world serverless React app with routes, authentication, database and more! Learn how to test your Next.js app from top to bottom! Tests pro
7 hours 35 minutes 24 seconds
Automated Software Testing with Cypress

Automated Software Testing with Cypress

Sources: udemy
Learn web automation and testing using world most popular non selenium framework called Cypress. This course is designed to be as practical as possible. We will be coding straig...
15 hours 55 minutes
Testing JavaScript with Kent C. Dodds

Testing JavaScript with Kent C. Dodds

Sources: Kent C. Dodds
This course will apply the four-layer testing method to a React application, but this foundational strategy can be applied across any JavaScript framework: Angular, Vue, legacy ...
14 hours 11 minutes 26 seconds
Cypress: Web Automation Testing from Zero to Hero

Cypress: Web Automation Testing from Zero to Hero

Sources: udemy
This class will give you a complete understanding of what is Cypress framework and you will learn how to use all key framework capabilities. Cypress is a very modern JavaScript-...
10 hours 39 minutes 49 seconds
Cypress End-to-End Testing - Getting Started

Cypress End-to-End Testing - Getting Started

Sources: Academind Pro
Automated testing is a vital part of modern application development. Of course, website development is no exception - you must be able to run automated tests to efficiently dete...
6 hours 17 minutes 7 seconds