Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including wd-bridge with all npm packages installed. Try it out:

var wdBridge = require("wd-bridge")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

wd-bridge v0.0.2

a bridge between the wd driver and other selenium clients


NPM version Dependency Status devDependency Status

bridge between the wd driver and other selenium clients


npm install wd-bridge


##Selenium WebdriverJs

var wd = require('wd'),
    wdBridge = require('wd-bridge')(wd),
    seleniumWebdriver = require('selenium-webdriver');

var builder = new seleniumWebdriver.Builder()
var driver =;
var wdDriver;
  .initFromSeleniumWebdriver(builder, driver)
  .then(function (_wdDriver) { wdDriver = _wdDriver; })
  .then(function () {
    return driver.get('');
  }).then(function () { return driver.getTitle(); })
  .then(function (title) {
    console.log('title from driver -->', title);
  }).then(function () { return wdDriver.title(); })
  .then(function (title) {
    console.log('title from wdDriver -->', title);
  }).then(function () {
    // converting to wd element
    return driver.findElement('mainContent'))
      .then(function (el) {
        return wdDriver.wdEl(el).text();
      .then(function (text) {
        console.log('text after converting to wd element -->',
          text.substring(0, 50));
  }).then(function () {
    // converting from wd element
    return wdDriver.elementById('mainContent')
      .then(function (el) {
        return wdDriver.swEl(el).getText();
      }).then(function (text) {
        console.log('text after converting from wd element -->',
          text.substring(0, 50));
  }).then(function () { return driver.quit(); })



"use strict";

var wd = require('wd'),
    wdBridge = require('wd-bridge')(wd);

// An example configuration file.
var config = exports.config = {
  // The address of a running selenium server.
  seleniumAddress: 'http://localhost:4444/wd/hub',

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'chrome'

  // Spec patterns are relative to the current working directly when
  // protractor is called.
  specs: ['example_spec.js'],

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000

  // configuring wd in onPrepare
  onPrepare: function () {

specs (use the global wdBrowser variable):

describe('angularjs homepage', function () {
  beforeEach(function () {

  // regular protractor tests

  it('should be able to use wdBrowser ', function (done) {
    wdBrowser.title().then(function (title) {
      expect(title).toEqual('AngularJS — Superheroic JavaScript MVW Framework');

  it('should convert to wd element', function (done) {
    var el = element.all(by.repeater('todo in todos')).get(1);
    wdBrowser.wdEl(el).text().then(function (text) {
      expect(text).toEqual('build an angular app');

  it('should convert from wd element', function (done) {
    return wdBrowser
      .then(function (el) {
        return wdBrowser.swEl(el).getText().then(function (text) {
          expect(text).toEqual('Add Some Control');


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free