Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Cypress End-to-End Testing - Getting Started
Introduction
Welcome To The Course! (1:05)
What is Cypress & End-to-End Testing? And Why Should You Care? (4:16)
Installing & Using Cypress (6:00)
How Cypress Tests Are Organized & Stored (2:11)
Adjusting Our First Test (2:51)
Writing A More Realistic Test (3:55)
About The Course (4:36)
Course Resources (Slides, Code, Discord)
Cypress Basics - Core Features & Syntax
Module Introduction (1:24)
Project Setup (3:28)
Creating Suites & Tests (2:33)
Visiting Pages inside of E2E Tests (3:33)
Let the IDE (VS Code) Help You (1:39)
Selecting Elements & Evaluating Test Results (3:40)
Selecting By Text (4:23)
Implicit and Explicit Assertions (5:56)
get() vs find() (4:51)
Why You Need To Simulate User Interaction (1:53)
Simulating User Interaction (8:19)
Proper Assertions Are Key! (4:12)
Time To Practice! (3:59)
Simulating Keyboard Typing & Writing Good Assertions (11:35)
Checking For Partial Text (3:45)
Selecting Dropdown Values (7:35)
Cypress Tests Run In Isolation (2:01)
Time For More Queries (6:00)
Summary (4:29)
Diving Deeper: Element Selection, Assertions & More
Module Introduction (0:34)
Project Setup (1:41)
Selecting Elements - The Best Practice Way (7:30)
Testing Page Navigation (5:05)
More on Selecting Elements (4:00)
Repetition and More Assertions (7:01)
Chaining Commands (2:01)
Working with Values & Aliases (3:01)
Getting More Direct Element Access via then() (6:38)
A Closer Look At then()
Simulating Special Key Presses (3:15)
Another Example (6:47)
Losing & Gaining Focus (5:56)
Aliases In Action (1:05)
Using Cypress Studio For Test Evaluation (2:36)
Running Tests Without Cypress Studio & Working with Screenshots + Videos (2:54)
Changing Subjects (7:09)
Taking Screenshots (1:32)
should() instead of then() (3:26)
Summary (4:21)
Configuration & Customization
Module Introduction (1:11)
Project Setup (0:51)
The Global Config File (1:53)
Understanding Timeouts (2:48)
Global vs Local Config (1:30)
Setting the Test Browser (1:05)
Configuring the baseURL (2:28)
Sharing Logic with Test Hooks (4:37)
Introducing Custom Commands & Queries (1:33)
Creating a Custom Command (5:39)
Creating a Custom Query (8:19)
Understanding Tasks (5:17)
Summary (2:59)
Working with Stubs, Spies, Fixtures & Manipulating the Clock
Module Introduction (0:52)
Starting Project (2:03)
Understanding the Problem (4:18)
Understanding Stubs (2:38)
Creating & Using a Stub (8:25)
When Empty Stubs Are Not Enough (5:12)
Adding a Fake Stub Implementation (7:25)
Using Stubs Across Tests (5:50)
Stubs with Return Values (6:13)
Evaluating Stub Arguments (5:33)
Using Fixtures (6:37)
Understanding Spies (3:53)
Creating & Using Spies (4:19)
The Problem With Timers (5:54)
Manipulating the Clock (2:40)
Summary (1:37)
Network (HTTP) Requests, Databases & Authentication
Module Introduction (1:10)
Starting Project (3:55)
Writing a First (Problematic) Test (5:47)
The Problem with Tests & Databases (2:13)
Creating a Test Database (3:13)
Seeding the Test Database Before Every Test (5:27)
Another Database-dependent Test (4:34)
Understanding & Using Interceptors (7:44)
You Can't Always Use Interceptors (1:26)
More Intercepting! (2:18)
Testing APIs with Test Requests (5:52)
Summary: Different Network Request Strategies (1:47)
Testing Authentication Flows & Asserting Cookie Values (8:05)
Adding a "Login" Test (2:23)
Creating a Reusable Login Command (3:37)
Accessing Interceptor Request & Response Data (7:52)
Summary (1:38)
Roundup & Next Steps
Roundup & Next Steps (3:27)
Creating a Custom Query
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock