Protractor or Cypress for ionic-angular?
We have a huge ionic-angular app with almost 100 pages and 10+ injectables. There are no tests written yet. Before we start, we need some suggestions about the framework. Would you suggest Cypress or Angular's Protractor with Jasmine / Karma for a heavy ionic app with Angular?
I work with two angular applications, one of them i already created a framework based on protractor. The other one i think using cypress instead of the protractor, the reason for that is the protrator will be deprecated at the end of the year. That reason for me is enough to select cypress as the better approach once it has a huge and increasing community and its downsides have been solved with time.
Hi Sai, Amir from the Cypress team here.
Angular team recently announced the deprecation of Protractor, so it's not a viable option for new projects or projects that have no tests.
Cypress can definitely help your team test your Ionic app, regardless of the size of the app. If you are using the Angular CLI, you can easily get started with the Cypress Angular Schematic: https://www.npmjs.com/package/@cypress/schematic
Please check Cypress limitations before investing in it. Look like cypress can't handle switching to multiple TABs, cross browser testing and switching to different domains.
cross-browser testing against 30+ browsers is possible with Cypress Automate through Browserstack
https://www.browserstack.com/automate/cypress?ref=guide-cypress-vs-selenium-floating-banner
https://www.browserstack.com/docs/automate/cypress.
Agree handling multiple tabs is not supported but there are work arounds
https://github.com/cypress-io/cypress-example-recipes/blob/master/examples/testing-dom__tab-handling-links/cypress/integration/tab_handling_anchor_links_spec.js
Trade offs are clearly mentioned under cypress documentation https://docs.cypress.io/guides/references/trade-offs#Multiple-tabs
Hope this helps.