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, Mocha, Protractor, or WebdriverIO.

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