JavaScript Congress Nov 23, 2021

Watch Tests Go Brrrr! : Getting Started with Cypress in ReactJS

Anna Mcdougall

Tired of configuring timeouts and manual waits? Discover how Cypress simplifies React end-to-end testing with intuitive chainable commands and visual time-travel debugging.

Pause
Mute Enter Fullscreen
#1 about 3 min

Introduction and transitioning into the tech industry

Background on the presenter and introducing the goal of teaching Cypress basics to beginners.

#2 about 2 min

Understanding the purpose of end to end testing

Examining how full user paths validate the entire application experience as opposed to mocking unit functions.

#3 about 3 min

Advantages of using Cypress for testing workflows

Key features like time travel, automatic waiting, and cross-browser support make creating tests smoother.

#4 about 2 min

Installing Cypress and initializing the test environment

Adding the framework to an npm project and launching the interactive graphical user interface.

#5 about 2 min

Exploring the target application for front end tests

Reviewing the Mad Libs input form and login flow that will act as the testing target.

#6 about 2 min

Determining which user journeys to test with Cypress

Analyzing the trade-off between testing every individual interaction versus prioritizing essential user flows.

#7 about 2 min

Structuring front end tests with arrange act and assert

Configuring page state, triggering user behaviors, and validating outcomes builds reliable component tests.

#8 about 3 min

Organizing tests using describe and it blocks

Creating test suites and resetting environments using specific hook functions to isolate scenarios.

#9 about 3 min

Visiting a webpage and opening the cypress interface

Executing the visit command and discovering how simulated browsers process test steps live.

#10 about 3 min

The danger of passing tests without explicit assertions

Untested script actions display as passing unless specific expected behaviors and outcomes are continuously evaluated.

#11 about 4 min

Simulating user typing and clicking with Cypress commands

Selecting unique input fields and stringing together actions to replicate full usage flows.

#12 about 4 min

Validating element attributes and structures with Cypress assertions

Checking header visibilities, reading internal elements, and explicitly confirming the length of rendered arrays.

#13 about 2 min

Deciding between comprehensive full flows and incremental steps

Discussing test scope philosophy and how larger bundled interactions optimize testing pipeline efficiency.

#14 about 5 min

Gathering mock submission inputs for a dynamic test

Collecting crowdsourced array parameters to inject as payload variations into the testing simulation run.

#15 about 5 min

Running automated background operations before typing mapped values

Setting up context using wrapper methods and populating repetitive inputs using explicitly matched identifiers.

#16 about 3 min

Verifying conditional unblocking mechanisms inside reactive input forms

Affirming that interface submit buttons successfully enable once bound constraints are appropriately populated.

#17 about 2 min

Executing explicit content checks on procedurally generated views

Ensuring that dynamically constructed output strings match formatted injection variables extracted earlier.

#18 about 2 min

Session summary and brief recap of learned testing concepts

A swift reiteration summarizing syntax models and available architectural tooling referenced earlier.

#19 about 2 min

Intercepting backend responses natively using Cypress network methods

Responding to audience questions regarding stubbing external requests and bypassing actual API connections during UI testing.

#20 about 4 min

Organizing code bases for scalability across testing suites

Reviewing patterns for isolating repetitive functionality and building maintainable enterprise layout conventions.

#21 about 2 min

Balancing arrange act and assert bounds across complex tests

Maintaining reasonably scoped actions per logic path minimizing code scroll bloat.

#22 about 3 min

Refactoring unstable html selectors toward human readable properties

Replacing rigid structure locators with a semantic plugin approach ensuring readable test intentions.

Matching moments

2:50 min

Introduction to end-to-end testing with Cypress

Soumaya Erradi · LIVE

3:48 min

Analyzing test automation challenges and the Cypress timeline

Filip Hric · LIVE

2:23 min

Keeping up with Web3 testing tools

Soumaya Erradi · LIVE

3:27 min

Choosing between Puppeteer and Cypress for browser tasks

Miki Lombardi · JS Congress

3:01 min

Exploring the expansion of end-to-end testing utility suites

Daniel Afonso Daniel Afonso · World Congress 2025

1:05 min

Cypress internal architecture and test execution constraints

Luca Micieli · World Congress 2023

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 10:20–10:50

Stage 9

Testing React Backends Like a Pro: Mocking Databases with SQLite

David Morris

Solution Architect

David Morris
Open session

World Congress 2026 North America

September 24, 2026 · 14:10–14:40

Stage 9

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

September 25, 2026 · 11:40–12:10

Stage 2

Reinventing Testing Practices in the AI Era

Eric Deandrea

Java Champion & Senior Principal Software Engineer, IBM

Eric Deandrea
Open session

World Congress 2026 North America

September 24, 2026 · 12:50–13:20

Stage 7

Architecting AI in Angular: WebMCP, A2UI, and the Agent Experience

Ankita Sood

Sr. Principal Engineer @ Secureworks | Angular GDE

Ankita Sood
Open session

World Congress 2026 North America

September 24, 2026 · 11:20–11:25

Outdoor Stage

Finding the Edges: Testing, Evaluating, and Monitoring Voice AI Agents Before Your Users Do

Matt Wyman

CEO at Okareo

Matt Wyman
Open session

World Congress 2026 North America

September 25, 2026 · 14:10–14:40

Stage 7

Why Your iOS App Feels Broken After an Hour: Diagnosing Long-Session Performance on Real Devices

Vasuki Uday Kiran Vudathala

Staff Performance Engineer at ServiceNow

Vasuki Uday Kiran Vudathala