Selenium first came to life in 2004 when Jason Huggins was testing an internal application at ThoughtWorks. He has automated his daily routine tasks int he process he ended up developing java script library. However it has its own limitations because of java script.
In 2006 a plucky engineer at Google named Simon Stewart started work on a project he called WebDriver. It has resolved so many pain points in existing selenium.
In the process of further development it has under gone so many changes. Evolved as a powerful suite of automation tool.
Selenium is not a single tool rather its a suite of multiple tools. Each has its significance.
- Selenium IDE
- Selenium 1 ( Also Known as Remote control/RC)
- Selenium WebDriver
Selenium IDE (Integrated Development Environment) is a prototyping tool for building test scripts. It is a firefox(Supports only firefox) plugin. It has recording feature which records the browser actions and allow you to re execute the recorded scripts.
However Selenium IDE doesn’t provide iteration or conditional statements for test scripts. At the time of writing there is no plan to add such thing.
Selenium RC components are:
- The Selenium Server which launches and kills browsers, interprets and runs the test program.
- Client libraries which provide the interface between each programming language and the Selenium RC Server.
Selenium 2(Also Known as Webdriver):
Selenium 2 is the future direction of the project and the newest addition to the Selenium toolkit. This brand new automation tool provides all sorts of awesome features. It answers the limitations of the old suite of tools.
It supports the WebDriver API and underlying technology, along with the Selenium 1 technology underneath the WebDriver API for maximum flexibility in porting your tests. In addition, Selenium 2 still runs Selenium 1’s Selenium RC interface for backwards compatibility.
Selenium Grid allows you to run your tests in parallel, that is, different tests can be run at the same time on different remote machines. This has two advantages. First, if you have a large test suite, or a slow-running test suite, you can boost its performance substantially by using Selenium Grid to divide your test suite to run different tests at the same time using those different machines. It greatly improves the time it takes to run your suite by making use of parallel processing.
Above is the brief description of selenium suite. As selenium 2 is the future we are going to start jumping into the world of webdriver or selenium 2.