Getting started
In this article, you'll learn how:
- Serenity/JS Gitpods let you experience the framework in your web browser right now, no installation required!
- Serenity/JS Project Templates are a good starting point and a reference implementation for your new test automation project
- Serenity/JS Modules allow you to customise your project setup, or add Serenity/JS to an existing project
- Free GitHub.com account gives you access to Serenity/JS resources, including code repositories, examples and reference implementations, Serenity/JS issue tracker, Serenity/JS Gitpod workspaces, and the Serenity/JS Community Chat.
- Your feedback and support will help Serenity/JS to evolve to better meet your needs, so get engaged and be part of our community!
Serenity/JS Gitpods
Serenity/JS Gitpods are free virtual workspaces you can launch on demand on Gitpod.io. They are the easiest way to get started with the framework, as every Serenity/JS Gitpod comes with all the browsers, test tools, drivers, libraries and even VisualStudio Code plugins already installed and ready to go.
In fact, all Serenity/JS tutorials you'll find in this handbook have a corresponding Serenity/JS Gitpod that lets you follow the tutorial without having to install anything on your machine. If you prefer to set up Serenity/JS locally, this handbook will also teach you how to do that.
To quickly see what Serenity/JS is capable of, go straight to the first tutorial where you'll learn how to use Serenity/JS and Playwright Test to write test scenarios for web applications.
To use Serenity/JS Gitpods, you'll need a free account on GitHub.com. You can then use your GitHub account to sign up for a free account on Gitpod.io the first time you launch your workspace.
Serenity/JS Project Templates
Serenity/JS Project Templates are boilerplate repositories that combine the most popular configurations of Serenity/JS modules and include a handful of test scenarios to help you get started.
You can find all the official Serenity/JS Project Templates on GitHub.
While you can simply clone the Serenity/JS Template repository to your machine, GitHub.com also allows you to create new repositories based on Serenity/JS Templates. To use this feature, you'll need a free account on GitHub.com.
Serenity/JS Modules
Serenity/JS is a modular framework based on Node.js, with official modules distributed under the @serenity-js/*
namespace via npmjs.com.
You can use as many or as few of Serenity/JS Modules as you need to enable integrations with required test automation tools and test runners,
interact with the various interfaces of your system under test, and to enable the desired reporting formats.
Each Serenity/JS module typically provides at least one of the following:
- an interface integration library that follows the Screenplay Pattern,
- test runner adapters that translate test runner events into Serenity/JS domain events (used for reporting),
- reporting services that translate domain events into test reports.
To find out more about how to install a given Serenity/JS module, please consult its installation instructions, as well as the general Serenity/JS installation guide.
In general, to use Serenity/JS modules you'll need:
- Node.js LTS - a long-term support version of Node.js; Serenity/JS is developed on macOS running Node.js v18.16.0 and continuously tested with the latest versions of Node 16.13, 18.12, and 20 on Linux and Windows,
- Java Runtime Environment (JRE), if you'd like to use the Serenity BDD reporter,
- a local web browser or a remote Selenium Grid if you're planning to interact with web interfaces,
- a Node.js project, which you can initialise by running
npm init ./my-project-name
Your GitHub.com account
Serenity/JS is hosted on GitHub.com, and having a free GitHub.com account gives you access to:
- Serenity/JS code repositories
- Serenity/JS issue tracker
- Serenity/JS Community Chat
- comments and reactions on the Serenity/JS website
If you don't have a GitHub.com account yet, you can sign up now.
Your feedback matters!
Do you find Serenity/JS useful? Give it a ⭐ star on GitHub and tell your friends about the framework!
Found a bug? Need a feature? Raise an issue or submit a pull request on GitHub.
Have feedback? Let us know on Twitter or LinkedIn.
If you have found a typo on this website, feel free to fix it using the "Edit this page" link you'll find at the bottom of each page.
If you have questions about Serenity/JS or would simply like to say "hi" to fellow Serenity/JS developers, join our Serenity/JS Community Chat.
New tutorials and videos are coming soon, follow us on LinkedIn and subscribe to Serenity/JS YouTube channel to get notified when they're available!
Serenity/JS is a free open-source framework, so we rely on our wonderful GitHub sponsors to keep the lights on.
If Serenity/JS has made your life a bit easier, and you'd like us to keep the new features, examples, documentation, and videos coming - please support our work on GitHub 🙇