/wdio-cucumber-framework

A WebdriverIO plugin. Adapter for Cucumber testing framework.

Primary LanguageJavaScriptMIT LicenseMIT

WDIO Cucumber Framework Adapter

Build Status Test Coverage dependencies Status


A WebdriverIO plugin. Adapter for CucumberJS v4 testing framework. To use v2 install this package with v1.1.1 and to use v1 with v0.3.1.

Installation

The easiest way is to keep wdio-cucumber-framework as a devDependency in your package.json.

{
  "devDependencies": {
    "wdio-cucumber-framework": "~2.0.0"
  }
}

You can simple do it by:

npm install wdio-cucumber-framework --save-dev

Instructions on how to install WebdriverIO can be found here.

Configuration

Following code shows the default wdio test runner configuration...

// wdio.conf.js
module.exports = {
  // ...
  framework: 'cucumber',
  cucumberOpts: {
    timeout: 10000
  }
  // ...
};

cucumberOpts Options

backtrace

Show full backtrace for errors.

Type: Boolean
Default: false

compiler

Require files with the given EXTENSION after requiring MODULE.

Type: String[]
Default: *[]*
Example: ['js:babel-core/register']
To passe options to the compiler use [[String, options]]
Example: [ ['js:babel-register', { ignore: [] }] ]

failAmbiguousDefinitions

Please note that this is a wdio-cucumber-framework specific option and not recognized by cucumber-js itself Treat ambiguous definitions as errors.

Type: Boolean
Default: false

failFast

Abort the run on first failure.

Type: Boolean
Default: false

ignoreUndefinedDefinitions

Please note that this is a wdio-cucumber-framework specific option and not recognized by cucumber-js itself Treat undefined definitions as warnings.

Type: Boolean
Default: false

name

Only execute the scenarios with name matching the expression (repeatable).

Type: REGEXP[]
Default: []

profile

Specify the profile to use.

Type: String[]
Default: []

require

Require files containing your step definitions before executing features. You can also specify a glob to your step definitions.

Type: String[]
Default: []
Example: [path.join(__dirname, 'step-definitions', 'my-steps.js')]

snippetSyntax

Specify a custom snippet syntax.

Type: String
Default: undefined

snippets

Hide step definition snippets for pending steps.

Type: Boolean
Default: true

source

Hide source uris.

Type: Boolean
Default: true

strict

Fail if there are any undefined or pending steps

Type: Boolean
Default: false

tagExpression

Only execute the features or scenarios with tags matching the expression. Note that untagged features will still spawn a Selenium session (see issue webdriverio/webdriverio#1247). Please see the Cucumber documentation for more details.

Type: String
Default: ``

tagsInTitle

Add cucumber tags to feature or scenario name

Type: Boolean[]
Default: false

timeout

Timeout in milliseconds for step definitions.

Type: Number
Default: 30000

Development

All commands can be found in the package.json. The most important are:

Watch changes:

$ npm run watch

Run tests:

$ npm test

# run test with coverage report:
$ npm run test:cover

Build package:

$ npm build

For more information on WebdriverIO see the homepage.