Reading Time: 3 minutes

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
selenium parts

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.

same.origin

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. 

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

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

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.

Series Navigation
Next Article >>
Avatar for Nickolas Newell

About the Author: Nickolas Newell

Latest Articles

In-place CentOS 7 upgrades

Read Article

How to use kill commands in Linux

Read Article

Change cPanel password from WebHost Manager (WHM)

Read Article

Change cPanel password from WebHost Manager (WHM)

Read Article

Change the root password in WebHost Manager (WHM)

Read Article