Of course the first thing on my mind was to move to webdriverjs - it should be similar to my Java tests,
but I also found another framework, webdriver.io. I could not find anything that could be done with webdriver.io that is not possible with webdriverjs.
Please help me to understand the difference so I can choose the right framework for me.
"WebdriverIO" is an independent implementation of the JSON Wire Protocol by Christian Bromann (SO profile), who works at Sauce Labs, a provider of cloud-base cross-browser testing. WebdriverIO wraps its lower level requests into useful commands, with a concise syntax:
client .url('http://google.com') .setValue('#q','webdriver') .click('#btnG')
The same test with selenium-webdriver is more complicated:
driver.get('http://www.google.com'); driver.findElement(webdriver.By.id('q')).sendKeys('webdriver'); driver.findElement(webdriver.By.id('btnG')).click();
There are at least seven Webdriver clients written in Node.JS.