What is Selenium?
- What is Selenium?
- How To Install Selenium Tools on Ubuntu 18.04
Introduction
Selenium is a suite of open-source testing tools for web apps that can be utilized across multiple platforms and browsers. Selenium is comprised of four different tools, each providing a different testing capability.
Parts of the Selenium Testing Suite
- Selenium Integrated Development Environment (IDE)
- Selenium Grid
- WebDriver
- Selenium RC

The “Same Origin” Policy Issue
The “Same Origin” policy issue is an essential premise in the web app security framework. Under this guideline, a browser only allows JavaScript to be executed within a single domain. An “origin” is characterized by a mixture of a hostname, port number, and URI scheme. Simply put, this directive prohibits malevolent JavaScript located on a page on abc.com from acquiring access to confidential data on a different web page located on xyz.com.
We only mention the “Same Origin” policy issue here because, due to the core language of Selenium being based on JavaScript, it originally needed to be installed on the same domain as the tests were being run, which caused issues. This was later addressed by using a proxy.

Introduction to Selenium IDE
The Selenium IDE or Integrated Development Environment allows us to record, edit, and debug tests. It is available as both a Firefox/Chrome plugin that can be installed as easily as any other browser plugin. Due to its simplicity, the Selenium IDE should only be used as a prototyping tool with Selenium RC and WebDriver capabilities.
Pros | Cons |
Selenium is very easy to use and install | Is not designed to produce prototypes of tests |
Knowledge of HTML and DOM are needed, but no other programming languages are required | Developed to be a prototype tool |
Selenium IDE can export tests to the Selenium RC and WebDriver tools | No support for conditional operations and iteration |
Selenium IDE has built in help options as well as test results reporting modules | Test execution is slow compared to that of Selenium RC and WebDriver |
Selenium IDE also provides support for extensions |
Introduction to Selenium RC
Selenium RC is the cornerstone testing framework of the entire Selenium project. It is the first automated web testing tool that allows users to utilize a preferred programming language. As of version 2.25.0, Selenium RC supports the following programming languages:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Pros | Cons |
Cross-browser and cross-platform | The installation is more complicated than the IDE |
Can perform looping and conditional operations | The user must have programming knowledge |
Can support data driven testing | Needs Selenium RC Server to be running |
Has matured and complete API | The API contains redundant and confusing commands |
Can readily support new browsers | Browser interaction is less realistic |
Faster execution than IDE | It can provide inconsistent results and uses JavaScript |
Slower execution than WebDriver |
Introduction to WebDriver
The Selenium WebDriver proves itself to be dominant over both Selenium IDE and Selenium RC in many aspects. It can implement a more modern and stable approach in automating the browser’s actions. It does not rely on JavaScript for automation, but it controls the browser by directly communicating with it. It also supports the same languages as Selenium RC:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Pros | Cons |
A more straightforward installation than Selenium RC | Installation is more complicated than Selenium IDE |
Communicates directly to the browser | Requires programming knowledge |
Browser interaction is more realistic | Cannot readily support browsers |
No need for a separate component such as the RC server | Has no built-in mechanism for logging runtime messages and generating test results |
Faster execution time than IDE and RC |
Introduction to Selenium Grid
When used together with Selenium RC, Selenium Grid allows for simultaneous testing across different machines and browsers at the same time.
Features of Selenium Grid:
- Selenium Grid enables multiple tests to be run in different browsers and environments simultaneously.
- Selenium Grid is very cost-effective in its ability to save time.
- Selenium Grid also utilizes the hub-and-nodes idea. The hub behaves as a central location for Selenium based commands dispersing to every node connected to it.
Now that we have outlined what Selenium is, what it is used for, and what are the prevalent tools that it uses, we will stop here. In our next article, we will cover the installation of each separate tool, how they are used, plus a comparison between Selenium and its main competitor QTP (HP Quick Test Pro), now known as Micro Focus Unified Functional Testing (or UFT).
Want More Information?
We can provide multiple use case examples where Selenium can assist you with unit testing your applications in multiple environments.
Related Articles:
- ChatGPT Integration — How to Create a Plugin for ChatGPT
- Stable Diffusion AI Image Generator (SDXL) — Using the Web UI
- How to Install VMware Tools on Ubuntu: Step-by-Step Guide
- How to Install WordPress on Linux (AlmaLinux)
- What is CentOS? Everything You Need to Know
- Virtual Desktop Environment — Configuring Kasm Workspaces

About the Author: Nickolas Newell
Our Sales and Support teams are available 24 hours by phone or e-mail to assist.
Latest Articles
ChatGPT Integration — How to Create a Plugin for ChatGPT
Read ArticleWhat is CentOS? Everything You Need to Know
Read ArticleWhat is CentOS? Everything You Need to Know
Read ArticleRedis as Cache: How It Works and Why You Should Use It
Read ArticleRefer-a-Friend Program for Website Hosting: Get $100 for Each Friend!
Read Article