Example of automation at GitHub.
Use cases 🥇
Learning curve 🥇
Cypress has little setup and comes with intuitive methods and assertions, so you will be writing your first tests in no time. When you open Cypress, you can watch the test execution step-by-step in the browser, pause it, even go back in time!
A non-tech person can only understand the title of each test. E2E tests easily become hard to read even for devs. There are unofficial libs to support Gherkin. By default there’s no test report file, only an ASCII output, but you can add any Mocha test reporter.
Debugging is good (pause, go back in time, DOM inspection), I longed for step-by-step. IntelliSense usually guides your coding. Cypress commands run asynchronously and that leads to issues (e.g. run conditions) and limitations (e.g. can’t mix sync and async code).
The online doc is abundant and comprehensive. It covers how to use Cypress, including some recipes/examples, but also explains some test concepts (e.g. when to use test mocks, anti-patterns, etc.).