I Like My Tests, Like I Like My Friends, Reliable and Flake-Free
summary
Cypress is an end-to-end test runner that runs in the browser's run loop so tests get direct DOM access instead of proxying through Selenium, which reduces nondeterminism. Tests take snapshots per command, produce video and screenshots, and use automatic retries to avoid flaky timing. Component mounting exposes framework stores (Vuex, React) so tests can set state via JS. CI recording plus parallelized CI load balancing uses spec duration history to split work across machines. NPM install cypress, run or run --record.
AI-written summary · about
chapters (36)
- 0:00Introduction
- 1:19Who am I
- 1:30Testing pyramid
- 2:34Renaissance of the web
- 5:40Selenium
- 7:14Endtoend testing
- 8:17Historical context
- 8:40Why Cypress exists
- 8:57Everything you need
- 9:16Everything in one tool
- 10:21Cyprus
- 14:20Sideout focused
- 15:41Make test fail
- 16:49Cyprus architecture
- 17:06Cyprus benefits
- 17:49Full access to dev tools
- 18:06How it works
- 18:34Component testing libraries
- 19:10Component testing example
- 20:02Component testing code
- 21:56Cypress open
- 22:09Cypress run
- 25:11CI dashboard
- 25:48Our own tests
- 27:07Parallelization
- 27:55Demo
- 28:58Load Balancing
- 29:45Compute and Forecast
- 30:03Get the most bang for buck
- 30:42Parallelized test runs
- 32:23Group test runs
- 32:48Timeline view
- 33:47Documentation
- 34:08Best Practices
- 34:27Conclusion
- 34:54Outro
related talks
50mCypress, the Tool That Will Make You Love End-to-End Testing!
52mCypress: Testing without Selenium, Part 2
32mGaining Confidence with Cypress Tests
47mCypress — Charm and Ease
41mCypressIO
39mGaining Confidence with Cypress Tests
47mEnd to End Testing with Cypress
35mCypress Tales: Effective E2E Testing
