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

What is VMware HA and DRS?

Read Article

How to Make OpenStack Work for You

Read Article

Five Steps to Create a Robots.txt File for Your Website

Read Article

Premium Business Email Pricing FAQ

Read Article

Microsoft Exchange Server Security Update

Read Article