Serenity/JS Project Templates
Serenity/JS Project Templates are boilerplate repositories that combine the most popular configurations of Serenity/JS modules, integration, and test tools, and include a handful of test scenarios to help you get started.
You can find all the official Serenity/JS Project Templates on GitHub, complete with GitHub Actions configuration, VisualStudio Code settings, and set up to publish test reports to GitHub Pages 💪💪💪
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.
Using Serenity/JS Project Templates
You can clone a Serenity/JS Project Template repository to your machine, use it to create new GitHub repositories, or instantly try it out it in your browser using its associated Serenity/JS Gitpod!
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 Project Template comes with a Serenity/JS Gitpod that has all the browsers, test tools, drivers, libraries and even VisualStudio Code plugins already installed and ready to go.
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.
Web Testing
Serenity/JS seamlessly integrates with well-known web testing tools and frameworks. The universal Serenity/JS web testing façade ensures consistent functionality regardless of the chosen integration tool.
However, different web integration tools offer some unique features that could be beneficial for your project. The list below highlights some of these extra benefits. Don't fret though! With Serenity/JS, you have the flexibility to switch between tools if your situation demands it later on.
WebdriverIO
WebdriverIO is a progressive automation framework built to automate modern web and mobile applications.
You can use Serenity/JS with WebdriverIO to:
- automate testing of web applications written in React, Vue, Angular, Svelte, or other frontend frameworks
- automate testing of hybrid or native mobile applications running in an emulator/simulator, or on a real device
- enable cross-browser testing, legacy browser testing, and testing using an in-house or vendor-provided Selenium Grid
To use Serenity/JS with WebdriverIO, start with one of the below templates:
Project Template | Features | Get Started |
---|---|---|
Serenity/JS with Cucumber.js and WebdriverIO | Cucumber.js; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Serenity/JS with Jasmine and WebdriverIO | Jasmine; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Serenity/JS with Mocha and WebdriverIO | Mocha; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Playwright
Playwright is a modern web integration tool for testing websites, web applications, and web components.
Playwright supports the latest rendering engines including Chromium, WebKit, and Firefox, offers an excellent dedicated test runner - Playwright Test, and boasts an outstanding tooling support from both VisualStudio Code and JetBrains AQUA.
You can use Serenity/JS with Playwright to:
- automate testing of web applications written in Angular, React, Solid, Svelte, Vue, or other frontend frameworks
- automate testing of web components written in React, Svelte, Vue and Solid
- enable cross-browser engine testing
To use Serenity/JS with Playwright, start with one of the below templates:
Project Template | Features | Get Started |
---|---|---|
Serenity/JS with Playwright Test | Serenity/JS with Playwright and Playwright Test runner, universal web testing template, recommended for most projects Playwright Test; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome, Firefox, and Webkit browser engines; Playwright Test reports; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports View Playwright Test Reports Start GitPod workspace |
Serenity/JS with Cucumber and Playwright | Serenity/JS with Playwright and Cucumber.js test runner, great for BDD projects that rely on Cucumber to define executable specifications Cucumber, Playwright, TypeScript, Gitpod workspace, GitHub Actions, Local Chrome browser engine, Serenity BDD reports | Generate new project View Code View Serenity BDD Reports View Playwright Test Reports Start GitPod workspace |
Protractor
Protractor is an end-to-end web testing framework for Angular and AngularJS applications.
As Protractor reaches its end of life, Serenity/JS + Protractor project templates should be used mainly as a reference implementation to migrate existing Protractor projects to Serenity/JS, and from there to a modern web testing framework like Playwright or WebdriverIO.
To use Serenity/JS with Protractor, start with one of the below templates:
Project Template | Features | Get Started |
---|---|---|
Serenity/JS with Cucumber and Protractor | Cucumber.js; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Serenity/JS with Jasmine and Protractor | Jasmine; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Serenity/JS with Mocha and Protractor | Mocha; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Web Component Testing
Serenity/JS integrates with Playwright Component Test runner, allowing to test React, Svelte, Vue and Solid components.
To use Serenity/JS with Playwright Component Test runner, start with one of the below templates:
Project Template | Features | Get Started |
---|---|---|
Serenity/JS with Playwright Component Test runner for React | Playwright Component Testing; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome, Firefox, and Webkit browser engines; Playwright Test reports; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports View Playwright Test Reports Start GitPod workspace |
Serenity/JS with Playwright Component Test runner for Lit and Web Components | Playwright Component Testing; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome, Firefox, and Webkit browser engines; Playwright Test reports; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports View Playwright Test Reports Start GitPod workspace |
REST/HTTP API Testing
Serenity/JS dedicated REST API testing module, allows you to interact with REST and HTTP-based web services either as part of web or API test scenarios.
To use Serenity/JS to interact with REST and HTTP-based web services, start with one of the below templates:
Project Template | Features | Get Started |
---|---|---|
Serenity/JS with Cucumber | REST API testing setup; Cucumber.js; TypeScript; Gitpod workspace; GitHub Actions; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Serenity/JS with Mocha | REST API testing setup; Mocha; TypeScript; Gitpod workspace; GitHub Actions; Serenity BDD reports | Generate new project View Code View Serenity BDD Reports Start GitPod workspace |
Your feedback matters!
If you like Serenity/JS, give it a ⭐ star on GitHub and tell your friends about it! For questions about Serenity/JS, check out Serenity/JS Q'n'A, and make sure to join our Serenity/JS Community Chat to say hi 👋
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!
More templates are coming soon! Let me know what you need in the comments 👇👇👇