Overview
Explore end-to-end testing in JavaScript applications through this JSConf Iceland 2018 conference talk by Will Klein. Discover how Cypress revolutionized browser testing by enabling interaction from the same JavaScript runtime as the app, eliminating the need for remote APIs, language bindings, or browser-specific drivers. Learn about Cypress' new testing platform, which offers "native" debugging and time travel capabilities. Walk through the process of using Cypress, understanding its inner workings, and leveraging its features to deliver better, well-tested software. Gain insights into the advantages of Cypress over Selenium Webdriver, explore its BDD-style approach, and discover how to run, record, and debug tests effectively. Examine the Electron app, test runner, selector playground, and command log functionalities. Delve into performance tradeoffs, ambitious goals, and the importance of smoke tests. Conclude with Will's thoughts on JavaScript, Cypress, and his personal journey in the field.
Syllabus
Introduction
How to test your frontend
The problem with selenium
Why do we keep testing
Selenium
Cypress
Opening Cypress
BDD Style
Running Tests
Recording Tests
Electron App
Browser
Test Runner
Selector Playground
Command Log
Debugging
Replayability
Other nice things
Performance tradeoff
Tradeoffs
Ambitious
The Game Has Changed
Write a Smoke Test
Dont let your users test
Wills thoughts on JavaScript
Wills thoughts on Cypress
Wills personal story
Outro
Taught by
JSConf