CheckOps
Serenity BDD
Serenity BDD is an Apache-2.0 Java library for writing automated acceptance tests with rich living-documentation reports, integrating with JUnit, Cucumber and Selenium and supporting the Screenplay pattern.
- Unit Testing
- Java
- Open source
- Free
- Bdd
- Web Testing
- Test Reporting
- Unit testing
- End-to-end & functional
- Release & CI gates
- Integration testing
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Serenity BDD is an open-source library that helps teams write higher-quality automated acceptance tests faster. Its README explains that it adds reporting on top of tools such as Cucumber and JUnit: it instruments test code, records the steps each test performs, and aggregates results into reports that serve as living documentation, describing not only test outcomes but also which requirements, features and stories have been tested.
Serenity integrates tightly with Selenium WebDriver for web testing and with REST Assured for API testing, and it supports the Screenplay pattern, where tests are written in terms of actors performing tasks and asking questions, which keeps large suites maintainable. Reports include screenshots for web steps, request and response details for API calls, and requirement coverage views. It runs with JUnit 5 and Cucumber in Maven or Gradle builds. The core repository (serenity-core) had commits in November 2026; it is distributed under the Apache-2.0 licence.
The source code is at serenity-bdd/serenity-core on GitHub under the Apache-2.0 licence, with about 756 stars; the most recent commit was on 3 November 2026.
Features
- Living documentation: Reports map tests to requirements and features.
- Screenplay pattern: Actor-based, maintainable test design.
- Selenium and REST Assured: Web and API testing integrations.
- Cucumber and JUnit 5: Use Gherkin or plain Java tests.
Pros
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 3 November 2026.
Cons
- Learning curve: Screenplay and Serenity conventions take time to learn.
- Java-centric: Primarily for JVM test suites.
Usage and Links (Example)
@ExtendWith(SerenityJUnit5Extension.class)
class SearchTest {
@CastMember(name = "Ana")
Actor ana;
@Test
void searchShowsResults() {
ana.attemptsTo(
Open.url("https://example.com"),
Enter.theValue("testing").into(SearchBox.FIELD).thenHit(Keys.ENTER)
);
ana.should(seeThat(TheResults.count(), greaterThan(0)));
}
}
mvn clean verify # aggregate report under target/site/serenity
Resources:
Pricing
Serenity BDD is free and open source under the Apache-2.0 licence.
Recommended for?
- Teams practising BDD on the JVM who need rich acceptance-test reports.
- Large UI and API acceptance suites using the Screenplay pattern.
Conclusion
Serenity BDD stands out for turning acceptance tests into living documentation, best for teams that value traceable, reportable test suites.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Serenity BDD side by side.
CCucumberCucumber is the open-source BDD tool that runs Gherkin feature files against step definitions. It is not CucumberStudio.Compare with Serenity BDD
RRobot FrameworkGeneric automation framework for acceptance testing and RPA.Compare with Serenity BDD
KKarateTest Automation Made Simple.Compare with Serenity BDD
SSeleniumA browser automation framework and ecosystem.Compare with Serenity BDD
RRest-AssuredJava DSL for easy testing of REST services.Compare with Serenity BDD
Bbehavebehave is a BSD-licensed behaviour-driven development framework for Python that runs Gherkin feature files with step definitions written in Python.Compare with Serenity BDD