Why Serenity/JS?

As the applications we develop become even more sophisticated and business-critical, the priorities for test automation systems change as well. The responsibility of automated tests is no longer limited to simple, functional verification of the system. Instead, the tests are often expected to capture the business language and intent behind the system's various features, act as its living documentation, and a communication medium between the various stakeholders.

Furthermore, the advent of shift-left testing has also changed who is responsible for writing and maintaining the tests. What historically used to be the job of a single person now became a responsibility of the entire delivery team. This means that even though the quality of the automated tests themselves might not have been the primary concern in the past, they're now a first-class citizens in any mission-critical codebase and need to be designed with the same amount of scrutiny as production code.

The goal of Serenity/JS is to give you free open-source tools to address many of those challenges and help you create high-quality, reliable automated acceptance tests. No matter if you're new to test automation or have years of experience under your belt.

Who uses Serenity/JS?

Serenity/JS is used by many Fortune 500 companies, top-tier investment banks and financial institutions as well as insurance, health care, e-commerce and airline companies who rely on it to automate verification of complex user workflows and require the in-depth reporting that satisfies their audit requirements.

However, Serenity/JS is also used by start-ups and small teams who need to make their test suites accessible to team members with mixed skill sets and keep the maintenance costs down.


Serenity/JS helps you write high-quality, user-centred acceptance tests that are easy to extend and maintain.

In particular, Serenity/JS enables:

  • Web and cross-browser testing
  • HTTP(s) and REST API testing
  • Workflow testing
  • Multi-actor testing
  • In-depth reporting and automatic screenshots
  • An easy way to introduce and follow SOLID design principles
  • An effortless integration with popular test and collaboration tools, such as Cucumber.js and Jasmine.
  • An easy way of sharing the test code across projects and teams

Read on to find out more!