Cypress V6- UI Automation Testing + API Testing + Frameworks

36h 56m 3s
English
Paid
May 16, 2024

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.

More

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 Cypress V6- UI Automation Testing + API Testing + Frameworks

Join premium to watch
Go to premium
# Title Duration
1 What is Cypress? 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

Similar courses to Cypress V6- UI Automation Testing + API Testing + Frameworks

Cypress: Web Automation Testing from Zero to Hero

Cypress: Web Automation Testing from Zero to Heroudemy

Duration 10 hours 39 minutes 49 seconds
Testing JavaScript with Kent C. Dodds

Testing JavaScript with Kent C. DoddsKent C. Dodds

Duration 14 hours 11 minutes 26 seconds
Cypress End-to-End Testing - Getting Started

Cypress End-to-End Testing - Getting StartedAcademind Pro

Duration 6 hours 17 minutes 7 seconds