Intro to selenium test suite

Ravindu Senal Fernando
4 min readJan 21, 2021

Selenium is a popular tool used for Test Automation. Before diving into selenium let’s see what is Test Automation.

What is test automation?

Test automation is the practice of running tests automatically, managing test data, and utilizing results to improve software quality. It’s primarily a quality assurance measure, but its activities involve the commitment of the entire software production team.

What is Selenium?

Selenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. Testing done using the selenium testing tool is usually referred to as selenium testing.

Selenium Software is not a single tool it’s actually a suite of software tools. The selenium suite contains following tools.

  • Selenium IDE
  • Selenium RC
  • Web driver
  • Selenium Grid

From this article you can get a high level understanding about the tools in the selenium suite.

Since selenium 2 the selenium RC and web driver is merged.

Selenium IDE

Selenium IDE is an easy to use tool from the Selenium Test Suite and can even be used by someone new to developing automated test cases for their web applications. Selenium IDE (Integrated Development Environment) is primarily a record/run tool that a test case developer uses to develop Selenium Test cases.

You can add the selenium IDE to your browser as an extension.

For more information refer official docs

Selenium RC (Remote Control — deprecated)

Selenium RC is an important component in the Selenium test suite. It is a testing framework that enables a QA or a developer to write test cases in any programming language in order to automate UI tests for web applications against any HTTP website.

But it was deprecated due to :

  • Api has redundant and confusing commands
  • No direct browser interaction.
  • Needs separate RC server
  • Slow execution

Selenium Web Driver

Selenium Web driver is an open-source collection of APIs which is used for testing web applications. Web driver also enables you to use a programming language in creating your test scripts (not possible in Selenium IDE).

Selenium Grid

Selenium Grid is a smart proxy server that makes it easy to run tests in parallel on multiple machines. This is done by routing commands to remote web browser instances, where one server acts as the hub. This hub routes test commands that are in JSON format to multiple registered Grid nodes.

There are two main components in the selenium grid. They are:

  • Hub is a server that accepts the access requests from the WebDriver client, routing the JSON test commands to the remote drives on nodes. It takes instructions from the client and executes them remotely on the various nodes in parallel.
  • Node is a remote device that consists of a native OS and a remote Web driver. It receives requests from the hub in the form of JSON test commands and executes them using Web driver.

Why use Selenium?

Selenium in not the only tool for test automation.

The above graph shows various tools available and their market share and you can see selenium is the most popular tool.

These are some reasons why selenium is popular and why you should use it.

  • Its open source.
  • It supports many programming languages like python, java, ruby etc.
  • Supports modern and latest versions of web browsers like Chrome, Firefox, Safari etc