1
How to
start with
Cypress
by Filip Hric
👋 Filip Hric
- Studied psychology
- almost 6 years at Slido
- Mostly test automation
- Cypress ambassador
- filiphric.com - Cypress tips
every week
- Workshops, presentations,
webinars, courses, streaming,
youtube, consultations
What is Cypress?
- a tool for testing anything that runs in browser
- built completely from scratch, doesn’t use Selenium
- tests are written in JavaScript and TypeScript
- runs inside browser, great debugging tools
- completely open source
- has a paid Dashboard service
How is Cypress different from
Selenium?
Selenium
your tests selenium driver browser
source: Gleb Bahmutov, Cypress: testing without Selenium
http request
Cypress
your tests your app
source: Gleb Bahmutov, Cypress: testing without Selenium
Demo
Testing, the way it should be (?)
Testing, the way it should be (?)
- cypress was built for developers
- fast test development
- typescript support
- built for browser, works great with devtools
- integrates in CI/CD pipelines
- powerful network stubbing
- manipulate DOM elements
- automatic retries and great adaptation to changing DOM
Testing === development
Testing, the way it should be (?)
What is the future of Cypress?
Cypress is here to stay
- tests written in the language of web
- massively improved speed of delivery for e2e tests
- taps into the power of node ecosystem
- plays well with browser
Some critique of Cypress
- uses JS to trigger events like type, click etc.
- cannot open multiple tabs
- multiple domain support
- lack of iframe support
- no support for Safari & Internet Explorer
Cypress future
Are you ready for Cypress?
17
let’s stay in
touch!
- filiphric.com - my blog
- filiphric.com/youtube
- filiphric.com/discord
- filiphric.com/twitter
- filiphric.com/linkedin
- filiphric.com/github

How to Get Started with Cypress

  • 1.
  • 2.
    👋 Filip Hric -Studied psychology - almost 6 years at Slido - Mostly test automation - Cypress ambassador - filiphric.com - Cypress tips every week - Workshops, presentations, webinars, courses, streaming, youtube, consultations
  • 3.
    What is Cypress? -a tool for testing anything that runs in browser - built completely from scratch, doesn’t use Selenium - tests are written in JavaScript and TypeScript - runs inside browser, great debugging tools - completely open source - has a paid Dashboard service
  • 4.
    How is Cypressdifferent from Selenium?
  • 5.
    Selenium your tests seleniumdriver browser source: Gleb Bahmutov, Cypress: testing without Selenium http request
  • 6.
    Cypress your tests yourapp source: Gleb Bahmutov, Cypress: testing without Selenium
  • 7.
  • 8.
    Testing, the wayit should be (?)
  • 9.
    Testing, the wayit should be (?) - cypress was built for developers - fast test development - typescript support - built for browser, works great with devtools - integrates in CI/CD pipelines - powerful network stubbing - manipulate DOM elements - automatic retries and great adaptation to changing DOM
  • 10.
  • 11.
    Testing, the wayit should be (?)
  • 12.
    What is thefuture of Cypress?
  • 13.
    Cypress is hereto stay - tests written in the language of web - massively improved speed of delivery for e2e tests - taps into the power of node ecosystem - plays well with browser
  • 14.
    Some critique ofCypress - uses JS to trigger events like type, click etc. - cannot open multiple tabs - multiple domain support - lack of iframe support - no support for Safari & Internet Explorer
  • 15.
  • 16.
    Are you readyfor Cypress?
  • 17.
    17 let’s stay in touch! -filiphric.com - my blog - filiphric.com/youtube - filiphric.com/discord - filiphric.com/twitter - filiphric.com/linkedin - filiphric.com/github

Editor's Notes

  • #5 I kinda don’t like this question, because it feels like asking how is car different from a motorcycle these are completely different approaches to testing
  • #6 your code written in java, ruby, whatever, processed by selenium, basically doing http calls to your browser
  • #7 architecture of Cypress is slightly different
  • #10 so why build a testing tools for developers? why didn’t Cypress build a tool for testers?
  • #11 Testing is not divided from development, it is not part of development, testing IS development when dev writes a code and examines how that runs - it isn’t that he suddenly stopped developing - it’s a part of workflow but for some reason we have divided it - different people, different building different company there may be good reasons for that but I believe there are some great advantages to understanding how web apps work and to get that developer lens sometimes cypress definitely encourages that
  • #12 and to circle back on my initial point and answer the question partially yes, testers should understand the app they are testing, it should never be a black box
  • #14 visual testing, code coverage, any tool from npm
  • #15 and since I picked these, I have answers to all of them at the end of the day it’s still important you use your own judgement, so don’t feel like I’m pushing you towards something
  • #16 there are interesting things ahead, so the only question left is to ask: