Skip to content

Latest commit

 

History

History
168 lines (114 loc) · 3.94 KB

README.md

File metadata and controls

168 lines (114 loc) · 3.94 KB

WDIO Cucumber Framework Adapter

Build Status Code Climate Test Coverage


A WebdriverIO plugin. Adapter for CucumberJS 2 testing framework.

This is based off the wdio-cucumber-framework, rewrote to work with the second version of CucumberJS.

Installation

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

{
  "devDependencies": {
    "wdio-cucumber2-framework": "~0.0.1"
  }
}

You can simple do it by:

npm install wdio-cucumber2-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: 'cucumber2'
  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']

failFast

Abort the run on first failure.

Type: Boolean
Default: false

name

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

Type: REGEXP[]
Default: []

snippets

Hide step definition snippets for pending steps.

Type: Boolean
Default: true

source

Hide source uris.

Type: Boolean
Default: true

profile

Specify the profile to use.

Type: String[]
Default: []

require

Require files/dir before executing features. If you apply a path don't use globbing as it is not supported by Cucumber. Instead just reference the directory where you step definitions are located (e.g. /path/to/definitions instead of /path/to/definitions/*).

Type: String[]
Default: []

snippetSyntax

Specify a custom snippet syntax.

Type: String
Default: undefined

strict

Fail if there are any undefined or pending steps

Type: Boolean
Default: false

tags

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). The recommended way to specify a subset of feature files is to use suites. Using ['@t1,@t2'] will run scenarios tagged with @t1 OR @t2 whilst ['@t1', '@t2'] will run those with @t1 AND @t2.

Type: String[]
Default: []

timeout

Timeout in milliseconds for step definitions.

Type: Number
Default: 30000

ignoreUndefinedDefinitions

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

Type: Boolean
Default: false

failAmbiguousDefinitions

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

Type: Boolean
Default: false

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.