I originally created this post in 2016, but since then, lots have changed. So I went ahead and deleted the libraries that are no longer maintained.
Read on to learn the following:
- shift left with testing automation
- more details for each framework
Many front-end developers and programmers also want to create their own automated tests to get quick feedback on whether or not they’ve broken a code in their application while checking in new code or making changes to the existing codebase.
• 38.3 GitHub Stars
• 107,733 NPM downloads in the last month
Since its release, Puppeteer pretty much made PhantomJS obsolete. Puppeteer is a Node library. It gives you a high-level API to control headless browsers like Chrome or Chromium. You can also configure it to use full (non-headless) Chrome or Chromium.
• 76.8k GitHub Stars
• 58,366 NPMdownloads in the last month
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox, and WebKit with a single API.
• 35.4k GitHub Stars
• 1,273,433 NPM downloads in the last month
In my TestTalk with Derick, he mentioned that he knows it's not the most up-to-date framework out there; there are other test frameworks that push forward faster and more frequently. But he’s not necessarily interested in staying on the cutting edge (or even the leading edge) of the testing world. Derick is more interested in long-term stability, support, and simplicity, which he finds in Jasmine, which is why he continues to stick with it.
• 15.3k GitHub Stars
• 1,385,198 NPM downloads in the last month
Nightwatch.js describes itself as an easy-to-use Node.js-based end-to-end (E2E) testing solution for browser-based apps and websites. It uses the Selenium WebDriver API to perform commands and assertions on DOM elements for front–end testing.
Nightwatch.js test runner can execute tests in parallel. It also works with Selenium Grid and Sauce Labs, and sometimes, more importantly, it has good documentation.
• 11k GitHub Stars
• 131,501 NPM downloads in the last month
Nemo.js is an open-source, Node.js automation framework that was developed by PayPal. Nemo.js provides a simple way to add Selenium automation to your Node.js web projects. It also provides plugin architecture to incorporate custom features into your tests.
• 165 GitHub Stars
• 31,387 NPM downloads in the last month
And unlike tools like Selenium, Cypress is a more developer-centric test automation framework that focuses on making test-driven development (TDD) a reality for developers and test engineers. One of its design principles was to be able to package and bundle everything together to make the entire end-to-end testing experience pleasant and simple.
To learn more, check out my interview with the Founder and the VP of engineering at Cypress.
Test Automation Tips & Training
This should give you an idea of what is out there already and hopefully give you enough info to check out more.