Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in DevOps and Agile by (19.7k points)

I am trying to choose a tool for Javascript automation tests.

Until now I used Selenium WebDriver in Java with TestNG to build my tests, but I have been asked to search for a JavaScript solution to write tests.

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: WebdriverIO. I could not find anything that could be done with WebdriverIO that is not possible with WebDriverJs.

Please help me to understand the difference so I can choose the right framework for me.

1 Answer

0 votes
by (62.9k points)

"WebdriverJS" is another name for selenium-webdriver, the official Node.JS implementation of the JSONWire (WebDriver Wire) Protocol by the Selenium team.

 

"WebdriverIO" is an independent implementation of the JSON Wire Protocol by Christian Bromann (SO profile), who works at Sauce Labs, a provider of cloud-based 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.

Browse Categories

...