Use this template repository to get started with acceptance testing your web applications using Serenity/JS, Cucumber and WebdriverIO.
Learn more:
Note
The default
main
branch of this Serenity/JS repository contains code for the upcoming Serenity/JS v3 release.All the public Serenity/JS APIs are now stable and unlikely to change much before the final release. You're welcome to go through the v3 migration guide, experiment with the new version, and ask any questions you might have about the migration on the Serenity/JS Community Gitter Chat.
- To get notified when Serenity/JS v3 is available and when new tutorials are released, follow Serenity/JS on LinkedIn and subscribe to @serenity-js on YouTube!
- To find out more about what's left to do for the v3 launch, check out our project board.
And if you find Serenity/JS useful, learn how becoming a GitHub Sponsor can help both you and this project!
Check out the
2.x
branch
To use this project, you'll need:
- Node.js, a Long-Term Support (LTS) release version 14 or later - download
- Java Runtime Environment (JRE) or a Java Development Kit (JDK) version 8 or later - download
- Chrome web browser - download
Follow the installation instructions to help you verify your setup.
This repository is a GitHub template. You can use it to create a new GitHub repository, clone it to your computer.
You can also launch it in a virtual Gitpod workspace without having to install anything on your machine:
Once you have the code on your computer, use your computer terminal to run the following command in the directory where you've cloned the project:
npm ci
Running npm ci
downloads the Node modules this project depends on, as well as the latest version of chromedriver
and the Serenity BDD CLI reporter jar.
If your network administrators require you to use proxy servers or an internal artifact registry (Artifactory, Nexus, etc.), your development environment might require some additional configuration.
The easiest way to do it is to create an .npmrc
file in your home directory:
proxy=http://user:password@host.mycompany.com:8080/
https-proxy=http://user:password@host.mycompany.com:8080/
strict-ssl=false
registry=https://artifactory.mycompany.com/artifactory/
If you encounter issues downloading the Serenity BDD CLI jar, please follow the detailed instructions in the Serenity/JS Handbook.
Similar instructions are available for the chromedriver
module.
The project provides several NPM scripts defined in package.json
:
npm run lint # runs code linter
npm run lint:fix # attempts to automatically fix linting issues
npm run clean # removes reports from any previous test run
npm test # executes the example test suite
# and generates the report under ./target/site/serenity
npm start # starts a mini HTTP server and serves the test reports
# at http://localhost:8080
Do you find Serenity/JS useful? Give it a star! ★
Found a bug? Need a feature? Raise an issue or submit a pull request.
Have feedback? Let me know on Twitter: @JanMolak
If you'd like to chat with fellow users of Serenity/JS, join us on 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!
And if Serenity/JS has made your life a little bit easier, please support its ongoing development.