When comparing WD.js vs Testium, the Slant community recommends Testium for most people. In the question“What are the best Node.JS Selenium WebDriver client libraries / bindings?” Testium is ranked 7th while WD.js is ranked 8th.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Cleaner and more concise code than WebdriverJS
There is no need to pass the 'driver' instance around, and not as many parentheses.
Using WD.js
function login(username, password) {
return this
.waitForElementByCss('.loginForm', asserters.isDisplayed, seconds(explicit_wait))
.elementById('emailAddress').sendKeys(username)
.elementById('password').sendKeys(password)
.elementById('signInButton').click()
}
Using WebDriverJS
function login(driver, username, password) {
driver.wait(until.elementIsVisible(driver.findElement({css: '.loginForm'})), seconds(explicit_wait));
driver.findElement({id: 'emailAddress'}).sendKeys(username);
driver.findElement({id: 'password'}).sendKeys(password);
driver.findElement({id: 'signInButton'}).click();
}
Cons
Con Dropped by Intern
Intern v1 used WD.js, but they dropped it in favor of developing Leadfoot.
Con Less activity than WebdriverIO
WebdriverIO issues: 34 open, 507 closed. First release May 2012 at v0.6
WD.js issues: 18 open, 216 closed. First release: April 2011
Con webdriver-http-sync only implements some of the Webdriver protocol methods
webdriver-http-sync is a synchronous HTTP implementation of the WebDriver protocol for Node.js. As of August 2015, the majority of the 97 WebDriver methods aren't yet implemented, for example "forward", "back" and "submit".
By comparison, WebdriveIO has implemented all JSONWire methods.