node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



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.Before(function(callback) {
      this.browser = browserPlugin.browser

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.