Latest UI automation test frameworks Review

Use Case

  • UI Test Automation for Web project written in Angular.
  • Need multi-browser support including Chrome, Firefox & Safari
  • Efficient Testing and easy integration in CI
  • Better if Typescript support as it was primary programming language used for existing projects.

Reviewed Frameworks

Cypress

  • The architecture of running the same loop as the testing application. Due to this having better access to simply everything in the application.
  • Fast execution
  • Higher consistency with tests
  • Easy debugging
  • Not supporting Safari browser
  • Multiple tabs on the same browser not supported
  • The dashboard will be coming with a paid plan.
  • Larger projects may need commercial support

Puppeteer

  • Fast and reliable tests
  • Efficient tests with better access to modules
  • Higher user ratings on Git hub (70k stars)
  • No need of installing a separate server to run tests
  • Only supporting Chrome browser
  • Still evolving (But…. having a great community and many supporting documentations :D)

Testproject

  • Cloud-hosted E2E framework
  • Fast and responsive support team
  • Test recorder help to generate test scripts easily
  • Cloud management of tests
  • Unlimited cloud space for tests (As per their support team)
  • The testing team not having full access and management over test scripts due to this SaaS framework
  • More suitable for teams looking for standard use cases
  • Use Selenium for UI tests

Nightwatch

  • Evolving community
  • Higher git hub rating
  • Good documentation
  • Not properly supporting typescript
  • Having Selenium protocol limitations/issues
  • Depending on the browser, need to install a specific web driver

Webdriver I/O + Selenium

  • Enhancing support with other frameworks like “Puppeteer”
  • Proper end to end documentation
  • The WDIO Testrunner having synchronous behavior which makes test implementation easier.
  • Need to have Selenium if it needs multiple browsers support
  • Underlying Selenium protocols may cause stability issues in CI
  • Lower git hub starts (6k only)

Playwright

  • Fast and efficient tests
  • Implemented with promise methods that make synchronous testing. Easy to write tests
  • Developed top of famous and growing “Puppeteer” while overcoming its’ limitations
  • Not using underlying Selenium protocols (JSON wire protocol)
  • A growing community with higher git hub stars (20k just for two years)
  • Quite new and still evolving (Method chaining missing yet)
  • Can be challenging to adopt due to a lack of documentation
NPM Download trends & Stats

What should I choose?

  • Playwright: Automation Framework
  • Jest: Test Runner
  • Typescript: Programming Language

References

--

--

--

Techie | Traveler | Writer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Some Tricky Things of javascript.

Ahaless: write serverless application OOP on top of Typescript

Updating Nested State Without Using Libraries

Beautiful code

Handling Access and Refresh Tokens using Axios Interceptors.

Expo SDK 36 is now available

https://youtu.be/yG07WSu7Q9w

Managing Your AWS Secrets With Doppler

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dilshani Subasinghe

Dilshani Subasinghe

Techie | Traveler | Writer

More from Medium

Countertop manufacturer’s service design case. Part 4: Calculator and project results

Calculator interface for desktop

Play on with Playwright — Part 1

Integrating Google maps static API with Unity app

The Top 10 Web Application Testing Tools of 2022 You Need to Know About — NoCodeAI.Cloud