wd-bridge
bridge between the wd driver and other selenium clients
install
npm install wd-bridge
usage
Selenium WebdriverJs
var wd = wdBridge = wd seleniumWebdriver = ; var builder = ;var driver = builder;var wdDriver;wdBridge ;
Protractor
config:
"use strict"; var wd = wdBridge = wd; // An example configuration file.var config = exportsconfig = // 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 { wdBridge; };
specs (use the global wdBrowser variable):
describe('angularjs homepage', function () {
beforeEach(function () {
browser.get('http://www.angularjs.org');
});
// 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');
}).nodeify(done);
});
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');
}).nodeify(done);
});
it('should convert from wd element', function (done) {
return wdBrowser
.elementById('add-some-control')
.then(function (el) {
return wdBrowser.swEl(el).getText().then(function (text) {
expect(text).toEqual('Add Some Control');
});
}).nodeify(done);
});
});