Skip to main content
CF

Cypress End-to-End Testing - Getting Started

6h 17m 7s
English
Paid

Automated testing is a vital part of modern application development, and website development is no exception. Efficient detection of bugs and regressions is possible with well-structured automated tests. In this course, you'll learn how to write and run end-to-end (E2E) tests with Cypress, one of the most popular E2E testing tools available today!

Course Objectives

Throughout this course, you will gain comprehensive insights into Cypress. Here's what you will learn:

  • Understanding what Cypress is and the importance of E2E testing
  • Installing and using Cypress effectively
  • Writing and executing E2E tests with Cypress
  • Simulating realistic website user flows by selecting elements and simulating user interactions (including button clicks, keyboard typing, and more)
  • Crafting good assertions and understanding their significance
  • Exploring the core features and concepts of Cypress
  • Implementing both basic and advanced Cypress concepts
  • Efficient testing of third-party code
  • Handling network (HTTP) requests and databases
  • Testing user authentication flows
  • And much more!

Course Prerequisites

This course is designed for learners with no prior Cypress knowledge. However, basic knowledge of web development and JavaScript is required.

Explore Cypress Features

The course will focus on core Cypress concepts, exploring both basic and advanced features. You'll learn from the ground up, ensuring a strong foundation in end-to-end testing with Cypress.

Achieve Mastery in Cypress

By the end of this course, you will have a solid understanding of Cypress fundamentals, positioning you to delve deeper into Cypress and E2E testing!

Additional

https://github.com/academind/cypress-e2e-testing-course-resources

About the Author: Academind Pro (Maximilian Schwarzmüller)

Academind Pro (Maximilian Schwarzmüller) thumbnail

Academind is the teaching brand of Maximilian Schwarzmüller (Max) and Manuel Lorenz, two German developers whose Udemy catalog has become one of the largest single-instructor presences on that platform. Max in particular is widely cited as one of the clearest teachers of the JavaScript framework landscape — his Angular, React, Vue, and Node.js courses have collectively taught millions of students.

The Academind Pro platform extends beyond Udemy with deeper, more comprehensive courses aimed at developers building real applications rather than picking up syntax. Course material covers the full modern web stack: React (including Next.js), Vue, Angular, Node.js, NestJS, TypeScript, Docker, AWS, React Native, Flutter, and the broader full-stack JavaScript ecosystem.

The CourseFlix listing under this source carries over 25 Academind Pro courses spanning that range. Material is paid; Academind Pro runs on per-course pricing on the original platform. Courses are taught in Max's signature thorough, build-an-application-with-me style — long-form, deeply project-based, and continuously updated as the underlying frameworks evolve.

Watch Online 92 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Welcome To The Course!
All Course Lessons (92)
#Lesson TitleDurationAccess
1
Welcome To The Course! Demo
01:06
2
What is Cypress & End-to-End Testing? And Why Should You Care?
04:16
3
Installing & Using Cypress
06:01
4
How Cypress Tests Are Organized & Stored
02:12
5
Adjusting Our First Test
02:52
6
Writing A More Realistic Test
03:56
7
About The Course
04:37
8
Module Introduction
01:25
9
Project Setup
03:29
10
Creating Suites & Tests
02:34
11
Visiting Pages inside of E2E Tests
03:34
12
Let the IDE (VS Code) Help You
01:40
13
Selecting Elements & Evaluating Test Results
03:41
14
Selecting By Text
04:24
15
Implicit and Explicit Assertions
05:57
16
get() vs find()
04:52
17
Why You Need To Simulate User Interaction
01:54
18
Simulating User Interaction
08:20
19
Proper Assertions Are Key!
04:13
20
Time To Practice!
04:00
21
Simulating Keyboard Typing & Writing Good Assertions
11:36
22
Checking For Partial Text
03:46
23
Selecting Dropdown Values
07:36
24
Cypress Tests Run In Isolation
02:02
25
Time For More Queries
06:01
26
Summary
04:30
27
Module Introduction
00:35
28
Project Setup
01:42
29
Selecting Elements - The Best Practice Way
07:31
30
Testing Page Navigation
05:06
31
More on Selecting Elements
04:01
32
Repetition and More Assertions
07:02
33
Chaining Commands
02:02
34
Working with Values & Aliases
03:01
35
Getting More Direct Element Access via then()
06:35
36
Simulating Special Key Presses
03:16
37
Another Example
06:48
38
Losing & Gaining Focus
05:57
39
Aliases In Action
04:00
40
Using Cypress Studio For Test Evaluation
02:37
41
Running Tests Without Cypress Studio & Working with Screenshots + Videos
02:55
42
Changing Subjects
07:10
43
Taking Screenshots
01:33
44
should() instead of then()
03:27
45
Summary
04:22
46
Module Introduction
01:12
47
Project Setup
00:52
48
The Global Config File
01:54
49
Understanding Timeouts
02:49
50
Global vs Local Config
01:31
51
Setting the Test Browser
01:06
52
Configuring the baseURL
02:29
53
Sharing Logic with Test Hooks
04:38
54
Introducing Custom Commands & Queries
01:34
55
Creating a Custom Command
05:40
56
Creating a Custom Query
08:20
57
Understanding Tasks
05:18
58
Summary
03:00
59
Module Introduction
00:53
60
Starting Project
02:04
61
Understanding the Problem
04:19
62
Understanding Stubs
02:39
63
Creating & Using a Stub
08:26
64
When Empty Stubs Are Not Enough
05:13
65
Adding a Fake Stub Implementation
07:26
66
Using Stubs Across Tests
05:51
67
Stubs with Return Values
06:14
68
Evaluating Stub Arguments
05:34
69
Using Fixtures
06:38
70
Understanding Spies
03:54
71
Creating & Using Spies
04:20
72
The Problem With Timers
05:55
73
Manipulating the Clock
02:41
74
Summary
01:38
75
Module Introduction
01:11
76
Starting Project
03:56
77
Writing a First (Problematic) Test
05:48
78
The Problem with Tests & Databases
02:14
79
Creating a Test Database
03:14
80
Seeding the Test Database Before Every Test
05:28
81
Another Database-dependent Test
04:35
82
Understanding & Using Interceptors
07:45
83
You Can't Always Use Interceptors
01:27
84
More Intercepting!
02:19
85
Testing APIs with Test Requests
05:52
86
Summary: Different Network Request Strategies
01:48
87
Testing Authentication Flows & Asserting Cookie Values
08:06
88
Adding a "Login" Test
02:24
89
Creating a Reusable Login Command
03:38
90
Accessing Interceptor Request & Response Data
07:53
91
Summary
01:39
92
Roundup & Next Steps
03:28
Unlock unlimited learning

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

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in the Cypress End-to-End Testing course?
The course is designed for learners who have no prior knowledge of Cypress. However, it requires a basic understanding of web development and JavaScript. This foundational knowledge is essential as the course involves writing and executing tests, which will be more manageable with some background in these areas.
What will I build or achieve by the end of this course?
By the end of the course, you will be able to write and run end-to-end tests using Cypress. You will gain skills in simulating realistic user interactions on websites, selecting elements, crafting assertions, and handling network requests. Additionally, you will test user authentication flows and third-party code, providing a comprehensive understanding of Cypress for automated testing.
Who is the target audience for this course?
The course is targeted at web developers and quality assurance professionals who are interested in learning automated end-to-end testing using Cypress. It caters to individuals with a basic understanding of JavaScript and web development, making it ideal for those looking to enhance their testing skills and integrate automated testing into their development workflow.
How does this course differ in depth or scope from other testing courses?
This course provides a focused and structured approach to learning Cypress, starting from installation to advanced concepts. Unlike broader testing courses, it specifically targets end-to-end testing using Cypress, covering both basic and advanced features. Learners will explore realistic user flows, assertions, and network handling, which are often not covered in general testing courses.
What specific tools or platforms will I use during the course?
The course utilizes Cypress as the primary tool for writing and executing end-to-end tests. You will also use Visual Studio Code (VS Code) to help you organize and evaluate your tests. Additionally, the course will guide you on using Cypress Studio for test evaluation and configuring test environments, including browser settings and base URLs.
What topics or areas are not covered in this course?
The course does not cover non-Cypress testing frameworks or unit testing methodologies. It focuses solely on end-to-end testing with Cypress, so learners interested in other types of testing or tools will need to seek additional resources to cover those areas. Additionally, it assumes familiarity with basic JavaScript and web development concepts, which are not taught in the course.
How much time should I expect to commit to complete this course?
The course consists of 92 lessons, covering a wide range of topics related to Cypress and end-to-end testing. While the exact runtime is not specified, you should allocate sufficient time to engage with each lesson, practice the skills taught, and complete any exercises or projects. A commitment of several weeks may be necessary to fully absorb the material and apply it effectively.