The Serenity/JS Handbook

Serenity/JS is a next-generation acceptance testing framework that can change the way you and your team think about and design your automated acceptance tests. With Serenity/JS, you can say goodbye to unmaintainable test script spaghetti and create high-quality, user-centred test scenarios using a scalable test DSL designed specifically for your domain and your business.

The extensible and modular design of Serenity/JS enables you to create various types of automated acceptance tests interacting with any interface of your system. Out of the box, Serenity/JS provides strong support for both Web and HTTP/REST API testing, management of popular Node.js HTTP servers, as well as integration with popular test and collaboration tools, such as Cucumber.js, Jasmine or Protractor.

On top of that, Serenity/JS comes with world-class reporting capabilities to give you insight into what requirements have been verified, and not only what tests have been executed. The living documentation produced by Serenity/JS helps you demonstrate both what your system does and why it's doing it and can play a significant role in establishing trust between the business and engineering, assessing the release readiness of your system, and meeting your audit requirements.

In summary, Serenity/JS can help you and your team create high-quality, reliable automated acceptance tests that are a pleasure to work with. This handbook will help you get started.

Have fun testing!

Jan Molak and the Serenity/JS team