Jasmine

Jasmine

DevOps / Build, Test, Deploy / Javascript Testing Framework
Avatar of chaymankala
Tech Lead at KIOT Innovations·
Needs advice
on
CypressCypress
and
ProtractorProtractor
in

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?

READ MORE
6 upvotes·877.3K views
Replies (2)

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.

READ MORE
4 upvotes·4 comments·3.2K views
Sai Chaitanya Mankala
Sai Chaitanya Mankala
·
August 3rd 2021 at 12:47PM

Makes sense, thank you for your suggestion :)

·
Reply
Amir Rustamzadeh
Amir Rustamzadeh
·
August 3rd 2021 at 2:05PM

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

·
Reply
Tarunam Nair
Tarunam Nair
·
October 18th 2021 at 5:32AM

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.

·
Reply
Satish Javalekar
Satish Javalekar
·
January 6th 2022 at 7:34AM

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.

·
Reply
Avatar of sergous
Software Engineer at EPAM Systems·
Recommends
on
Playwright
Playwright
in

For end-2-end tests it's great - fast, working with or without headed mode, can do dom snapshots instead of only screenshots.

1 upvote·420 views
Avatar of Scrayos
CEO at Scrayos UG (haftungsbeschränkt)·

For our internal team and collaboration panel we use Nuxt.js (with TypeScript that is transpiled into ES6), Webpack and npm. We enjoy the opinionated nature of Nuxt.js over vanilla Vue.js, as we would end up using all of the components Nuxt.js incorporates anyways and we can adhere to the conventions setup by the Nuxt.js project, which allows us to get better support in case we run into any dead ends. Webpack allows us to create reproducable builds and also debug our application with hot reloads, which greately increased the pace at which we are able to perform and test changes. We also incorporated a lot of testing (ESLint, Chai, Jasmine, Nightwatchjs) into our pipelines and can trigger those jobs through GitLab CI. All packages are fetched through npm, so that we can keep our git repositories slim and are notified of new updates aswell as reported security flaws.

READ MORE
7 upvotes·626.5K views