A WebdriverIO plugin. Adapter for CucumberJS testing framework.
The easiest way is to keep wdio-cucumber-framework
as a devDependency in your package.json
.
{
"devDependencies": {
"wdio-cucumber-framework": "~0.2.0"
}
}
You can simple do it by:
npm install wdio-cucumber-framework --save-dev
Instructions on how to install WebdriverIO
can be found here.
Note that cucumber
is defined as a peer dependency so make sure it is installed in your project as well.
{
"devDependencies": {
"cucumber": "~1.2.0"
}
}
You can simply do it by:
npm install cucumber --save-dev
Following code shows the default wdio test runner configuration...
// wdio.conf.js
module.exports = {
// ...
framework: 'cucumber'
cucumberOpts: {
timeout: 10000
}
// ...
};
Show full backtrace for errors.
Type: Boolean
Default: false
Require files with the given EXTENSION after requiring MODULE.
Type: String[]
Default: *[]*
Example: ['js:babel-core/register']
Abort the run on first failure.
Type: Boolean
Default: false
Only execute the scenarios with name matching the expression (repeatable).
Type: REGEXP[]
Default: []
Hide step definition snippets for pending steps.
Type: Boolean
Default: true
Hide source uris.
Type: Boolean
Default: true
Specify the profile to use.
Type: String[]
Default: []
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: []
Specify a custom snippet syntax.
Type: String
Default: undefined
Fail if there are any undefined or pending steps
Type: Boolean
Default: false
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 in milliseconds for step definitions.
Type: Number
Default: 30000
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
Please note that this is a wdio-cucumber-framework specifc option and not recognized by cucumber-js itself Treat ambiguous definitions as errors.
Type: Boolean
Default: false
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.