Provide this plugin with a reference to the cucumber runtime and it will initialize a selenium session given a set of configuration data and automatically close your session after cucumber completes
see lib/defaultConfig.js for an example config
If you are using SauceLabs be sure to set your SAUCE_USERNAME and SAUCE_ACCESS_KEY in your environment variables or pass them in your config. See wd's readme for details.
As always, you'll need to install cucumber-wd-plugin as a dependency
npm install cucumber-wd-plugin --save
Then in a step definition (e.g. step_definitions/worldDefinition.js) register the plugin as a listener and before each scenerio make sure the World has access to the browser.
var browserPlugin = require('cucumber-wd-plugin')(config)
function worldDefinition() {
this.registerListener(browserPlugin)
this.Before(function(callback) {
this.browser = browserPlugin.browser
callback()
})
}
See the node-bdd-example project for usage
cucumber-js 0.3.2 provides plugin support through the use of registerListener
with the integration of this
pull request.