npm install wd-parallel-async
- Mathieu Sabourin (OniOni)
- License - Apache 2: http://www.apache.org/licenses/LICENSE-2.0
Start by importing the required libraries.
var webdriver = require('wd-parallel-async')
, assert = require('assert');
Then create the parallelizer.
var parallelizer = webdriver.parallelizer();
You can go ahead and call parallelizer.run(desired, test)
.
Here is an example with chrome and firefox.
In your test function write your test as if you were writting it with WD.js.
parallelizer.run([{
browserName:'chrome',
tags: ["examples"],
name: "This is an example test",
},{
browserName:'firefox',
tags: ["examples"],
name: "This is an example test",
}], function(browser, desired) {
browser.on('status', function(info){
console.log('\x1b[36m%s\x1b[0m', info);
});
browser.on('command', function(meth, path){
console.log(' > \x1b[33m%s\x1b[0m: %s', meth, path);
});
browser.init(desired, function() {
browser.get("http://saucelabs.com/test/guinea-pig", function() {
browser.title(function(err, title) {
assert.ok(~title.indexOf('I am a page title - Sauce Labs'), 'Wrong title!');
browser.elementById('submit', function(err, el) {
browser.clickElement(el, function() {
browser.eval("window.location.href", function(err, title) {
assert.ok(~title.indexOf('#'), 'Wrong title!');
browser.quit()
})
})
})
})
})
})
});
All tests are run with WD.js check the docs for information about available methods.
WD is simply implementing the Selenium JsonWireProtocol, for more details see the official docs: - http://code.google.com/p/selenium/wiki/JsonWireProtocol