Nikola Δuza
Writer and owner at Pragmatic Pineapple
Sr Software Engineer at ToptalΒ π₯
Cypress.io Ambassador
Novi Sad JS Organizer π£
Ruby and JS π
CONFIDENCE
Initial idea 2004 by Jason Huggins
Supports: Java, C#, JavaScript, Python, Ruby, Objective-C
Supports almost all browsers
Uses DevTools protocol
Uses DevTools protocol
Supports writing tests in JavaScript
Supports Chrome and Firefox
Cons:
Supports writing tests in JavaScript
Supports: Chrome-based browsers, Firefox, Edge
Cons:
Login test example
Login test example
Viewing the settings page
Viewing the settings page
Login without UI test example
Adding a Cypress Custom Command
Login without UI test example
Selenium-based tools
In Cypress
There's no guarentee this will run
Clean up state before tests run
Start a web server prior to running Cypress
$ npm start & cypress run
Start a web server prior to running Cypress
π ββοΈπβπ ββοΈ
$ npm start & cypress run
Start a web server prior to running Cypress
$ npm start & cypress run
π ββοΈπβπ ββοΈ
$ npm start & wait-on http://localhost:8080 \
& cypress run
Start a web server prior to running Cypress
$ npm test
HTML
JSON response
exposing the store
dispatching action objects
dispatching actions from our code
checking state with snapshot testing
Β
Β
Β
cheap
π΅π°
cheap
ππ¨
π’
π΅π°
cheap
ππ¨
π’
π΅π°
BIG PROBLEMS π€―
Small problems π
$ npm install cypress
βMore questions? Join Discord
βοΈ Check out my blog https://pragmaticpineapple.com
π¦ Follow me on Twitter https://twitter.com/nikolalsvk