Skip to content

Test your websites and web apps with Serenity/JS, WebdriverIO and Mocha

License

Notifications You must be signed in to change notification settings

serenity-js/serenity-js-mocha-webdriverio-template

Repository files navigation

Serenity/JS Mocha WebdriverIO Template

Follow Serenity/JS on LinkedIn Watch Serenity/JS on YouTube Join Serenity/JS Community Chat GitHub stars Support Serenity/JS on GitHub

Build Status Contribute with Gitpod

Kickstart your web application acceptance testing with Serenity/JS, Mocha, and WebdriverIO using this template repository.

Learn more about Serenity/JS: Serenity/JS and WebdriverIO guide

🚀 Quick Start

1. Create a Project

This repository is a GitHub template. Use it to create a new GitHub repository for your project.

If you prefer to work in a virtual environment, you can launch this repository in a Gitpod workspace.

Open in Gitpod

2. Set Up Your Environment

Install the required tools:

  • Node.js (LTS version 18.12 or later)

  • Java (JRE or JDK version 11 or later)

Follow the installation guide to verify your setup.

3. Install Dependencies

Clone the project and run:

npm ci

This installs dependencies, including the Serenity BDD CLI.

4. Run Tests

Use the predefined NPM scripts defined in package.json to run your tests and related tasks:

npm test                # Run tests and generate reports
npm start               # Serve test reports at http://localhost:8080

npm run lint            # Run code linter
npm run lint:fix        # Try to automatically fix linting issues
npm run clean           # Remove test reports from any previous test run

5. Write your tests

Test scenarios are located in the ./test/specs directory. Modify the examples or write your own scenarios using the Serenity/JS Screenplay Pattern.

🌟 Features

  • All automation tools ready to go: Start testing immediately with WebdriverIO, Serenity/JS and Mocha already integrated and configured.
  • Serenity BDD Reports: Serenity BDD reporter pre-configured with reports available at ./target/site/serenity
  • Screenplay Pattern: Out-of-the-box integration with the Serenity/JS actors and Screenplay Pattern APIs
  • GitHub Actions: Continuous Integration setup included
  • VS Code: Pre-configured for a seamless developer experience

🔧 Configuration for Corporate Networks

If you're behind a proxy or use an internal registry, configure an .npmrc file in your home directory:

proxy=http://user:[email protected]:8080/
https-proxy=http://user:[email protected]:8080/
strict-ssl=false
registry=https://artifactory.mycompany.com/artifactory/

💡️ Learn Serenity/JS

👋 Join the Serenity/JS Community

📣 Stay up to date

💛 Support Serenity/JS

Support our mission to make test automation collaborative and easier to scale. Become a Serenity/JS GitHub Sponsor today!

GitHub Sponsors