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