Next generation acceptance testing

optimised for speed, collaboration and scale.


Serenity/JS comes with over 100 building blocks to help you create high-quality automated acceptance tests interacting with Web apps, REST APIs, and more.

Serenity/JS is easy to extend, so there are no limits to what you can test!


The Serenity/JS Screenplay Pattern enables you to quickly adapt and create user-centred acceptance tests that capture the language of your domain and your business.

Serenity/JS particularly shines in domains that involve complex business processes and workflows.


Create high-quality, easy-to-reuse and cheap-to-maintain test code and share it across projects and teams.

Make your tests easy for others to understand and contribute, even if they're new to test automation!


Serenity/JS supercharges Jasmine, Mocha, Cucumber, Protractor, and WebdriverIO with capabilities to produce in-depth reports and living documentation that make failure analysis and release readiness assessment much more efficient.

Modernise your existing projects today!

Capture your business language

Next generation testing

Break the chains of spaghetti test scripts and UI-only-based automation!

Design executable specifications that capture the business language of your domain, focus on actors interacting with your system, and verify all its interfaces.

Serenity/JS and the Screenplay Pattern make it easy for you to introduce and follow SOLID design principles in your code base and help your team adopt ideas from Behaviour-Driven Development and Domain-Driven Design.

Get started today!

Comprehensive reporting

Building on the shoulders of Serenity BDD and years of research into patterns of scalable acceptance testing and effective communication, Serenity/JS provides the most comprehensive reporting capabilities of all the functional testing frameworks based on the Node.js platform.

The illustrated, narrative HTML reports combine the information gathered during test execution and from your Cucumber, Mocha, or Jasmine test scenarios to describe what your application does and how it works, using a language that's easy to understand to both the technical and non-technical audience.

What's more important, however, is that Serenity/JS gives you visibility of the release readiness of your application. It can tell you not only what scenarios have been executed, but also what features and what requirements have been tested, and to what extent.

When a test fails, Serenity/JS will also show you the failure in the context of the capability and feature affected, so that failure analysis and business impact assessment become much more efficient.

Learn more about Serenity/JS!

Comprehensive reporting
Free and open source

Free and open source

Serenity/JS is a free and open source framework hosted on GitHub, where you can suggest features and improvements, find template repositories to help you get started, and support the project.

If you found Serenity/JS useful - don't forget to give it a star and sponsor its continuous evolution! ★

Sponsor Star

To stay up to date with the project news, follow @SerenityJS and @JanMolak on Twitter and join our Serenity/JS Gitter chat channel.

Follow @Serenity/JS on Twitter Follow @JanMolak on Twitter

  • NPM Version Downloads Semantic versioning and release
  • Build Status Known Vulnerabilities
  • FOSSA License Scanning Coverage Status CodeFactor
  • Serenity/JS on GitHub Serenity/JS on StackOverflow Chat on Gitter
  • Openbase Rating