Selenium Home

Selenium is a browser automation tool, commonly used for writing end-to-end tests of web applications. A browser automation tool does exactly what you would expect: automate the control of a browser so that repetitive tasks can be automated. It sounds like a simple problem to solve, but as we will see, a lot has to happen behind the scenes to make it work.

At a very high level, Selenium is a set of different software tools each with a different approach to supporting test automation. They are,

> Selenium IDE
> Selenium Grid
> Selenium WebDriver aka Selenium2

History of Selenium

Jason Huggins started the Selenium project in 2004 while working at ThoughtWorks on their in-house Time and Expenses (T&E) system, which has extensive use of Javascript. Fortunately, all the browsers being tested supported Javascript. Inspired by work being done on FIT, a table-based syntax was placed over the raw Javascript and this allowed tests to be written by people with limited programming experience using a keyword-driven approach in HTML files. This tool, originally called "Selenium" but later referred to as "Selenium Core". 

Drawback : It requires developers to host Core and their tests on the same server in order to avoid falling foul of the browser's security policies and the Javascript sandbox.

Paul Hammannt used HTTP proxy to made it possible to side-step many of the constraints of the "Same origin" policy. The design opened up the possibility of writing Selenium bindings in multiple languages. The wire format was closely modeled on the table-based syntax of Selenium Core and along with the table-based syntax, became known as "Selenese". The language bindings were controlling the browser at a distance, the tool was called "Selenium Remote Control", or "Selenium RC"

Selenium Grid was introduced by Patrick Lightboy to minimize the execution time of test cases by distributing the test execution across multiple environments

Selenium IDE was created by Shinya Kasatani in 2006 as Firefox Plugin to create the test as html file using record and play back feature.

In 2006, another automation tool were brewing at ThoughtWorks - Webdriver. WebDriver developed by Simon Stewart and initially it was developed as wrapper around HtmlUnit. WebDriver attempted to bind natively to the browser and side-stepping the browser's security model at the cost of significantly increased development effort for the framework itself.

In August, 2009, it was announced that the two projects would merge and called as Selenium WebDriver

In addition, 

  •  Selenium 2 still runs Selenium 1’s Selenium RC interface for backwards compatibility.
  •  Improved supports for Handling multiple frames, multiple browser windows, popups, and alerts.

Popular posts from this blog

Selenium Webdriver Interview Questions with Answer

Selenium IDE Interview Questions with Answer

DLL to Jar file conversion