Introduction to Selenium and its Components

August 15, 2016

Selenium is an automation testing tool used to test web-based applications. Selenium is not a single tool but a suite of tools. There are four components of Selenium – Selenium IDE, RC, WebDriver, and Grid. Last two being the most famous one.  Different components of Selenium provides different features – multiple browsers support, parallel test capabilities, execution on multiple machines and much more.

It can automate all websites and does not depend on the technology in which the application is designed. Performance and execution speed of Selenium Automation tool is much better than any other tools which are available in the market.

 Selenium Components:

  1. Selenium IDE (Integrated Development Environment).
  2. Selenium RC(Remote Control)
  3. Selenium WebDriver
  4. Selenium Grid

Selenium_Components

Selenium IDE:

Selenium IDE is a simple record and playback kind of tool which comes as an add-on for Mozilla Firefox only. It is used for prototype testing. Test cases written in IDE can be exported in many programming languages like Ruby, Java, C#, etc. Edit and Debug options along with record are also available. It is an excellent tool for beginners to understand the syntax of Selenium WebDriver.

Selenium RC:

Selenium RC (Remote Control) was the first tool of Selenium Suite. Earlier it was known as JavaScript Executor. RC was the tool which made Selenium famous in the market.

It was the first tool which provided the support for multiple programming languages (JAVA, Ruby, Perl, PHP, Python, and C#).

It also supported almost all the major vendors of Browsers like Mozilla Firefox, Google Chrome, Internet Explorer. All the browsers which support JavaScript can be automated using this tool.

Selenium RC is also known as Selenium 1.

The architecture of Selenium RC:

In Selenium RC, there is a manual process called Selenium Server is mandatory to start before execution, which acts as a middleman between the code and the browser. The commands (API’s) are sent to Server. It interprets the command and converts it into JavaScript and then JavaScript is injected to the browser. Now the browser executes the javascript and responds to a server, which again interprets the command and returns to code in the respective language.

Architecture of Selenium Remote Control

Selenium WebDriver:

Selenium WebDriver is the most important tool of the Selenium suite. Because of many limitations with RC, WebDriver was developed. It does not require any manual process like Selenium Server. There is a direct communication between code and browser.

Features of Selenium WebDriver:

  • Open source
  • Supports all the key vendors of the browser like Mozilla Firefox, Internet Explorer, Google Chrome, Safari, etc.
  • Support Multiple languages like C#, JAVA, Ruby, Perl, Python, and PHP.
  • Supports multiple platforms like Linux, Windows, MAC, etc.
  • No middleman like Selenium RC server is required.
  • Easy to remember API’s.
  • Easy to integrate with Testing frameworks.
  • Framework Development.
  • Parallel Testing capabilities.

The Architecture of Selenium WebDriver:

As discussed earlier, Selenium WebDriver does not require Selenium Server as a middleman. The API’s written in WebDriver can directly interact with browsers.

Architecture of Selenium WebDriver

Selenium Grid:

It is the last component of the selenium suite and is used for parallel testing or distributive testing. It allows us to execute test scripts on different machines at same time.

There is a Hub which controls the execution on various machines, and there are multiple nodes on which actual implementation is done.

Features of the Grid:

  • Parallel Execution on multiple nodes
  • Platform Independent, support almost all Operating System
  • Language Independent.
  • Browser Independent supports almost all the main vendors of Browser.
  • Fast Execution, reduces the execution time as test cases are executed parallelly.

The Architecture of Selenium Grid:

In Grid one of the systems is created as Hub. Hub works as a central point controlling all the nodes. Nodes are an actual machine on which execution is done.

Architecture of Selenium Grid

Selenium IDE and Selenium RC are obsolete products now, so we won’t spend much time on them. In the upcoming tutorials, we will focus more on Selenium WebDriver and Selenium Grid.

In the next tutorial, we will cover Installation and Configuration of Selenium WebDriver using Java and Eclipse.

PS: For any questions, queries or feedback. Feel free to write us at saurabh@qatechhub.com or support@qatechhub.com

Saurabh

About the Author

Saurabh

Follow Saurabh:

Leave a Comment: