/serenity-js-webdriverio-appium

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Serenity/JS Cucumber WebdriverIO Template

Build Status

Serenity/JS on GitHub Serenity/JS on StackOverflow Contribute with Gitpod Chat on Gitter

Use this template repository to get started with acceptance testing your web applications using Serenity/JS, Cucumber and WebdriverIO.

Learn more:

Note

Serenity/JS v3 is coming soon!

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.

Stay up to date!

And if you find Serenity/JS useful, learn how becoming a GitHub Sponsor can help both you and this project!

Where's Serenity/JS v2 codebase?

Check out the 2.x branch

Prerequisites

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.

Usage

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:

Open in Gitpod

Installation

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.

Corporate networks

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.

Execution

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

Your feedback matters!

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.

LinkedIn Follow YouTube Follow GitHub Sponsors