Hello everyone, Currently, we use Protractor to run our UI "end-to-end" tests. However, there are a handful of major advantages we can gain from switching to Cypress: https://www.cypress.io/features/.
- As with most Selenium-based e2e testing frameworks, Protractor suffers from test flakiness. This is because Selenium runs outside of the browser and executes remote commands across the network. To work around this at the moment, we are using protractor-flake to re-run failed tests, but this is more of a crutch than a fix. Cypress executes in the same run loop as the application it's testing, and as a result does not suffer from the same flakiness. - As a result of its architecture, Cypress runs much faster than Protractor. This is especially critical if e2e tests are added to the CI build in the future. - Protractor is incredibly hard to debug. In contrast, Cypress comes with a plethora of debugging features, some of which you can see in action here: https://vimeo.com/242961930#t=264s Does anyone else have thoughts or opinions on switching to Cypress or staying with Protractor? Cheers, Shane