Serenity BDD
serenity-bdd.github.io
What it is
Serenity BDD is a free, open-source library for automated acceptance and regression tests that produces illustrated narrative reports as living documentation. Its documented approaches include web testing with Selenium, REST API testing with RestAssured, Screenplay tests and executable specifications with Cucumber. Reports identify requirements covered and capture test steps, with optional screenshots. Serenity Playwright supports Chromium, Firefox and WebKit, and can produce interactive HTML reports, screenshots and HTML snapshots for investigating failures. Tests can follow Page Object or Screenplay design; Screenplay organizes work around actors, tasks, questions and targets. Playwright setup requires Java 17 or higher and Maven 3.8+ or Gradle. CI/CD guidance covers GitHub Actions, Jenkins and GitLab CI. BrowserStack and LambdaTest integrations enable cloud testing; the LambdaTest path requires an account. The manual includes mobile testing guidance, and Playwright can emulate mobile designs for responsive testing. JUnit 4 support is deprecated as of Serenity 5.0.0 and is planned for removal in 6.0.0.
Spec sheet
- What it does
- Serenity BDD is an open source library for writing automated acceptance and regression tests and generating illustrated narrative reports as living documentation.Read 2 Oct 2026 · serenity-bdd.github.io
- Build tools
- The Playwright setup guide lists Java 17 or higher and Maven 3.8+ or Gradle as prerequisites.Read 2 Oct 2026 · serenity-bdd.github.io
- CI integrations
- The CI/CD guide covers GitHub Actions, Jenkins, and GitLab CI.Read 2 Oct 2026 · serenity-bdd.github.io
- Cloud testing
- Serenity provides a BrowserStack plugin and uses a RemoteDriver to connect tests to BrowserStack.Read 2 Oct 2026 · serenity-bdd.github.io
- Cloud testing scale
- The LambdaTest integration guide says users can extend test coverage across more than 3,000 real devices, browsers, and operating systems, and requires a LambdaTest account.Read 2 Oct 2026 · serenity-bdd.github.io
- Mobile coverage
- The Playwright guide describes mobile emulation for testing responsive designs, and the manual includes a Mobile Testing with Serenity section.Read 2 Oct 2026 · serenity-bdd.github.io
- Playwright
- Serenity Playwright supports Chromium, Firefox, and WebKit and provides interactive HTML reports, screenshots, and HTML snapshots for debugging failures.Read 2 Oct 2026 · serenity-bdd.github.io
- Report detail
- Serenity reports which requirements were tested and records step-by-step test details, with optional screenshots.Read 2 Oct 2026 · serenity-bdd.github.io
- Security configuration
- The CI/CD guide demonstrates storing API keys, usernames, and passwords in GitHub Actions secrets and passing them to test jobs as environment variables.Read 2 Oct 2026 · serenity-bdd.github.io
- Support and community
- The manual links to Gitter and Stack Overflow and offers links to Serenity Dojo training and personalised coaching.Read 2 Oct 2026 · serenity-bdd.github.io
- Test design
- Serenity Playwright supports Page Object and Screenplay approaches, with Screenplay organizing tests around actors, tasks, questions, and targets.Read 2 Oct 2026 · serenity-bdd.github.io
- Test frameworks
- The Maven guide recommends JUnit 5 or Cucumber, and says JUnit 4 support is deprecated as of Serenity 5.0.0 and will be removed in 6.0.0.Read 2 Oct 2026 · serenity-bdd.github.io
- Testing types
- The manual describes web testing with Selenium, REST API testing with RestAssured, Screenplay testing, and executable specifications with Cucumber.Read 2 Oct 2026 · serenity-bdd.github.io
Plans and prices
Strong points and limits
Strong points
- Open-source library with no listed price.
- Reports link tested requirements to test steps.
- Playwright supports Chromium, Firefox and WebKit.
- CI guidance covers GitHub Actions, Jenkins and GitLab CI.
Limits
- Playwright setup requires Java 17 or higher.
- JUnit 4 support is deprecated.
- LambdaTest integration requires an account.
Who it suits
Serenity BDD suits teams writing automated acceptance or regression tests that want detailed reports. It may also fit teams using web, API, mobile-emulation or CI testing workflows.
Serenity BDD in depth
Read the full write-up
Overview
Serenity BDD is a free, open-source library for automated acceptance and regression testing. It suits development teams that want test runs to produce readable, requirement-linked documentation, rather than teams looking for a standalone testing application. Its strongest case is the combination of varied test styles and detailed reports; the trade-off is the setup and framework choices that come with a developer tool.
Key features
Serenity covers several approaches: Selenium for web tests, RestAssured for REST APIs, Cucumber executable specifications, and Screenplay testing. That range lets teams use behavior-driven specifications alongside browser or API checks, but Serenity is a library to integrate into a test project, not an all-in-one testing service.
Reporting is its clearest differentiator. Reports connect tests to the requirements they cover and record execution step by step, with screenshots available when useful. Serenity Playwright adds interactive HTML reports, screenshots, and HTML snapshots to help diagnose failures across Chromium, Firefox, and WebKit. It supports both Page Object and Screenplay designs; Screenplay structures tests around actors, tasks, questions, and targets, which can suit teams that want scenarios organized by role and intent.
The surrounding workflow is conventional but has prerequisites. Playwright setup calls for Java 17 or higher and Maven 3.8+ or Gradle. CI guidance covers GitHub Actions, Jenkins, and GitLab CI, including an approach for passing credentials and API keys through GitHub Actions secrets as environment variables. BrowserStack integration uses a RemoteDriver, while LambdaTest can extend coverage across more than 3,000 real devices, browsers, and operating systems and requires a LambdaTest account.
Mobile emulation in the Playwright guide supports responsive-design checks, and the manual also includes a mobile-testing section. For broader device testing, the cloud integrations are more relevant than emulation alone. The manual points users to Gitter, Stack Overflow, Serenity Dojo training, and personalised coaching.
Pricing
Serenity BDD costs nothing. Its open-source library has no paid plan in this pricing model, making it a straightforward fit for teams seeking a no-cost test framework. The cost is the engineering work of adopting and maintaining a library-based setup; Playwright users also need the stated Java and build-tool prerequisites, and LambdaTest coverage requires a separate account.
Platforms
Serenity BDD is listed for Android, iOS, Linux, macOS, self-hosted environments, web, and Windows. It supports local execution, parallel execution, browser testing, API access, and Gherkin. These capabilities make it relevant to teams testing across application types, though the exact setup depends on the chosen testing approach and integrations.
Who it's for
Serenity is best for software teams that want acceptance and regression tests to explain both requirement coverage and what happened during execution. It is a good fit for teams already working with Java-based build tooling, CI pipelines, or BDD practices. It is less compelling for those who want a hosted, standalone test management product or prefer not to integrate a library into their own project.
Pros and cons
Requirement-linked, step-by-step reporting: Makes it easier to see what was covered and inspect how a test ran, with optional screenshots.
Several testing styles and browser options: Selenium, RestAssured, Cucumber, Screenplay, and Playwright support give teams room to choose an approach.
Useful failure artifacts: Playwright's screenshots and HTML snapshots add context when investigating browser-test failures.
Developer-oriented setup: Playwright requires Java 17 or higher and Maven 3.8+ or Gradle, so teams without that toolchain face extra adoption work.
JUnit 4 is on the way out: Support is deprecated as of Serenity 5.0.0 and planned for removal in 6.0.0; teams should favor JUnit 5 or Cucumber for new projects.
Alternatives
CukeTest is worth considering for teams that want visual feature editing and JavaScript or Python support; its free Lite plan includes 500 automation API calls and imposes usage limits on some built-in automation libraries.
Cucumber Open is a simpler open-source alternative for teams centered on Cucumber, while FitNesse is another free open-source option for teams seeking a self-hosted testing tool.
Ginkgo is the relevant alternative for Go teams, with its current supported major version at v2. Concordion is a free Java library under Apache License 2.0 for teams looking for a different Java-based option.
Karate may suit teams prioritizing API testing across REST, GraphQL, and SOAP, or browser and desktop UI automation. Reqnroll offers a free Community plan with framework usage, Visual Studio and Rider integration, community plugins, and community support.
BDDX suits readers looking for a web-based option priced by monthly run volume; its Start plan is free up to 50 runs per month.
Verdict
Choose Serenity BDD if your team wants a free, flexible test library whose reports connect execution details to requirements. Its reporting and range of testing styles are the main reasons to adopt it; teams unwilling to handle a Java-oriented project setup, or still dependent on JUnit 4, should look elsewhere or plan a framework transition.
Verdict
Serenity BDD covers several test styles and provides detailed, illustrated reporting. Teams relying on JUnit 4 should account for its planned removal.
Where Specifiction places it
- BDD Testing Tools#18 of 307.5