1

It might be opinion based question but I am really confused about choosing automation tools combination.

Till date I have been using Selenium webdriver,maven and Java to build automation frameworks. This seems totally working fine.

Now a days I feel that many automation engineers moving to use of WebdriverJS , WebdriverIO, NodeJS etc.

Someone told me that if we build automation framework using WebdriverJS/ WebdriverIO/NodeJS, Then execution will be faster than Java.

I know that I should choose tool based on my requirements but at the same time I feel that we can not use WebdriverJS/ WebdriverIO/NodeJS in some kind of website where all elements must be located by xpath as most of elements changing class / id dynamically.

So If anyone can just give me hint about which tools to choose for which kind of website then it would be really helpful. i.e For AngularJS website Node.Js is fine for automation with selenium.

Helping Hands
  • 5,292
  • 9
  • 60
  • 127

1 Answers1

2

As per the Selenium Official Webpage, Download Section, you can see in the Selenium Client & WebDriver Language Bindings section the following are listed :

  1. Java
  2. C#
  3. Ruby
  4. Python
  5. Javascript (Node)

So from my personal take would be, these 5 variants which are the most widely used Selenium Clients while dealing with Automation Framework with Selenium

Documentation

Leaving aside Selinium's GitHub ducumentation, its pretty clear majority of the documentation available on internet is on Selenium (Java). It's because of Java's world wide popularity as a Language. So learning becomes easier. Even the frequency of Selenium (Java) Client Releases would support my native view.

But, personally I have found Selinium's GitHub Documentation for all the client bindings are perfect and precise.

WebdriverIO

WebdriverIO is another variant of the Selenium Release. No doubt the WebdriverIO team have played it hard in building up the catch-up game with the Selenium Client Releases. But my take would be WebdriverIO is still evolving.

Functional Perspective:

From a functional perspective my take will be either on NodeJS or WebdriverJS. Reason is simple I still feel the Selenium-RC way is still in practice when we inject javascript into the Web Browser once the browser loads completely and then use its javascript to drive the Application Under Test within the browser.

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
  • Should I prefer **nodejs** or **webdriver js** if website is built with asp.net or php and most of element locators are changing dynamically? as far as I know **node.js** look for properly **ng-model** always to find element. – Helping Hands Nov 15 '17 at 10:31
  • Irrespective of the development bindings you can go for NodeJS or WebdriverJS. But as you mentioned **`ng-model`** so if the Application is built in **`AngularJS`** the best solution is **`Protractor/Jasmine`** combo. – undetected Selenium Nov 15 '17 at 10:35