I'm working in a project where I run a lot of end to end tests prepared using Protractor framework - testing dashboard written in Angular JS and Ionic 4 web application. However I started to spot a lot of problems with these combination...
First of all Protractor doesn't seem to be a good tool for testing Ionic 4 apps as I have to turn off synchronization with Angular and add a lot of additional waits for elements presence or disappearance. Also Protractor is not supporting shadow DOM which is commonly used in Ionic 4 (there is a method for handling it but it's buggy and deprecated for a long time now). This makes my tests hard to maintain.
Secondly we're going to rewrite our dashboard to newer version of Angular (to be honest it will be build from scratch) and as I heard Protractor is not working very well with modern Angular - there are problems with locators and promises. I'm aware that I would have to write existing tests one more time and probably it will require more effort than before.
Finally Protractor is not really developed anymore. As I see there are hundreds of issues, Protractor team is not updating it regularly and community is starting to shrink. I know that popularity might not be the best indicator of value of framework but this a sign that something bad happens with Protractor.
All of these lead me to conclusion that I need better tool/framework for test automation in my project. Do you know what will be the best in my situation? I know that there are some solid competitors (e. g. WebdriverIO or Cypress) but I would like to get some feedback from someone who uses/used it for similar purpose.
What's important for me regarding this new tool/framework:
- it supports both modern Angular and Ionic,
- it can be used for cross-browser testing,
- it should allow easy test maintenance and proper tools for debugging of failing tests,
- it's constantly developed and issues are being fixed.
Thanks in advance!