Selenium WebDriver

 

  • Selenium invented by Jason R. Huggins and team while they were working on a project in ThoughtWorks.
  • Selenium is a suite of software tools use to automate Web Browsers.
  • WebDrive is faster than Selenium RC and can also handle scenarios such as alerts, pop-ups, AJAX requests, keyboards and mouse actions, it also supports popular programming languages such as Java, C #, Python, Ruby etc…
  • Because the WebDrive directly calls the methods of different browsers, we have different drivers for each browser.
  • Some of the widely used drivers in selenium are Firefox, Chromerover, Internet Explorer, Safari Driver and HTML Driver (a special headless driver).

 

Four Components of Selenium:

  • Selenium IDE
  • Selenium RC (Remote Control)
  • Selenium Webdriver
  • Selenium Grid

 

Selenium IDE:

  • IDE stands for the Integrated Development Environment, which is the plug-in for the web browser Firefox.
  • This allows us to record and play the script.
  • This is the easiest framework and therefore developers need to switch to Selenium RC for advanced testing cases.

 

Selenium RC:

  • RC stands for Remote Control, which allows developers to code in their preferred language.
  • Selenium RC supports many programming languages such as Java, C #, Python, etc.

 

Selenium Web Driver:

  • Selenium automates and controls the activities performed by the web browser.
  • It has been implemented through a browser-specific driver. It usually does not depend on JavaScript.
  • Selenium communicates with the browser to control its functions. Like RC it also supports Java, C #, Python, Ruby etc.

 

Selenium Grid:

  • Selenium Grid is used to execute parallel tests with selenium RC in multiple browsers.
  • Run several tests at the same time with different machines running different machines and operating systems.

 

Advantages of Selenium Web Driver:

  • Selenium is open source, there is no licensing cost for its use.
  • The Selenium IDE component provides access to selenium suite records and playback features in which non-programmer automation scripts can also be written.
  • Selenium Grid helps in parallel and distributed testing.
  • Most of the widely used programming languages such as Java, C#, Ruby, and Python can be scripted.
  • It supports popular browsers like Chrome, Firefox, Internet Explorer, Opera and Safari etc…

 

Limitations of Selenium:

  • Selenium only supports testing of web based applications.
  • The mobile app can not be tested using selenium.
  • Can not test captcha and bar code readers using Selenium.
  • Reports can only be prepared using third party tools such as TestNG, Junit, Extent etc.
  • Selenium is a free tool, thus there is no ready vendor support, although the user can find many helpful communities.
  • The user is expected to keep programming language knowledge before.
  • Many Challenges With IE Browsers

 

Selenium Web Driver language support:

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

 

Selenium WebDriver Browser support:

  • Internet Explorer
  • Microsoft Edge
  • Firefox
  • Google Chrome
  • Opera
  • HtmlUnit

 

Selenium WebDriver Operating Sys support:

  • Windows
  • Mac
  • OS X
  • Linux