Hi Marjolein,
Which tool you should use of course depends on the UI you want to run your tests on. Based on your considerations, I assume you are planning on testing in Universal. We ourselves use Cypress for testing Universal, we think this is a very powerfull tool and for us, this turned out to be the best fit. A few of our partners/customers are also (planning on) using Cypress, so this may be another valid reason for using this.
Of course, other tools can also be used, I think Playwright could also be a good fit. It offers some more flexibility than Cypress, and it also supports other languages than just javascript/typescript. But you can ask yourself if you actually need this amount of flexibility.
A few arguments why we picked Cypress:
- It is a developer friendly tool and it has a relatively low learning curve;
- It is a framework that already has made decisions on the scale of e2e, integration, and visual testing.
- It is a plugin ecosystem;
- It can run isolated in a Docker environment, so that each test result keeps the same;
- It includes a wait-strategy for finding DOM elements built-in;
- It can run HTTP requests and System commands;
Regardless of which tool you plan to use, you can always use the test id’s that we’ve added to Universal. Please also check out this blog, which describes this in more detail:
Hopefully this anwsers your question a bit. We are always curious to hear what you’ve came up with and also learn from our community’s best practises, so feel free to share this!
Kind regards,
Marjolein