Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 1.13 KB

world.md

File metadata and controls

39 lines (30 loc) · 1.13 KB

World

World is an isolated context for each scenario, exposed to the hooks and steps as this. The default world constructor is:

function World({attach, parameters}) {
  this.attach = attach
  this.parameters = parameters
}
  • attach: function used for adding attachments to hooks/steps
  • parameters: object of parameters passed in via the CLI

The default can be overridden with setWorldConstructor.

var {defineSupportCode} = require('cucumber');
var seleniumWebdriver = require('selenium-webdriver');

function CustomWorld() {
  this.driver = new seleniumWebdriver.Builder()
    .forBrowser('firefox')
    .build();

  // Returns a promise that resolves to the element
  this.waitForElement = function(locator) {
    var condition = seleniumWebdriver.until.elementLocated(locator);
    return this.driver.wait(condition)
  }
}

defineSupportCode(function({setWorldConstructor}) {
  setWorldConstructor(CustomWorld)
});

Note: The World constructor was made strictly synchronous in v0.8.0.