Skip to main content

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 💪💪💪

Short on time? ⏱️

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 TemplateFeaturesGet Started
Serenity/JS with Cucumber.js and WebdriverIOCucumber.js; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate new project
View Code
View Serenity BDD Reports
Start GitPod workspace
Serenity/JS with Jasmine and WebdriverIOJasmine; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate new project
View Code
View Serenity BDD Reports
Start GitPod workspace
Serenity/JS with Mocha and WebdriverIOMocha; WebdriverIO; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate 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 TemplateFeaturesGet Started
Serenity/JS with Playwright TestSerenity/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 PlaywrightSerenity/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.

danger

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 TemplateFeaturesGet Started
Serenity/JS with Cucumber and ProtractorCucumber.js; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate new project
View Code
View Serenity BDD Reports
Start GitPod workspace
Serenity/JS with Jasmine and ProtractorJasmine; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate new project
View Code
View Serenity BDD Reports
Start GitPod workspace
Serenity/JS with Mocha and ProtractorMocha; Protractor; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome browser; Serenity BDD reportsGenerate 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 TemplateFeaturesGet Started
Serenity/JS with Playwright Component Test runner for ReactPlaywright Component Testing; TypeScript; Gitpod workspace; GitHub Actions; Local Chrome, Firefox, and Webkit browser engines; Playwright Test reports; Serenity BDD reportsGenerate 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 TemplateFeaturesGet Started
Serenity/JS with CucumberREST API testing setup; Cucumber.js; TypeScript; Gitpod workspace; GitHub Actions; Serenity BDD reportsGenerate new project
View Code
View Serenity BDD Reports
Start GitPod workspace
Serenity/JS with MochaREST API testing setup; Mocha; TypeScript; Gitpod workspace; GitHub Actions; Serenity BDD reportsGenerate 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 👋

GitHub stars Join Serenity/JS Community Chat Join 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!

LinkedIn Follow YouTube Follow GitHub Sponsors

Need another template?

More templates are coming soon! Let me know what you need in the comments 👇👇👇