Lessons from E2E Testing Web Applications with Avindra Fernando
summary
Hands-on lessons about end-to-end testing with Cypress and Playwright: avoid fixed sleeps and use network-aware waits like intercept/waitForRequest, prefer API login and session caching over repeated UI logins, use aliases or async/await correctly (Cypress commands are not regular async), keep tests isolated (use beforeEach for shared setup), mock slow endpoints with fixtures or stubs but hit live endpoints for critical smoke flows, favor accessible selectors/testing-library patterns, and keep dependencies current.
AI-written summary · about
chapters (13)
- 0:00E2E testing challenges
- 5:23Why testing matters
- 8:54Cypress & Playwright lessons
- 17:08JavaScript async nature
- 24:00Custom commands for efficiency
- 26:09Avoid UI-only testing
- 28:56Reliable test selectors
- 33:49Isolating tests
- 37:24Mocking network issues
- 40:18Real vs mocked APIs
- 41:02Happy and error paths
- 41:46Keep tools updated
- 42:08Closing & Q&A
related talks
35mCypress Tales: Effective E2E Testing
33mCypress: The future of E2E testing
47mEnd to End Testing with Cypress
32mDo Not Fight Your Testing Tools
29mEnd-to-end Testing Is Hard - But It Doesn't Have to Be
50mShip Web Apps Confidently: End-to-End Testing with Cypress
58mDocumenting application behaviours with E2E tests
26mSpeed Up Your End-to-End Tests with Cypress
