Selenium suite consists of four main components or testing tools
- Selenium IDE
- Selenium RC
- Webdriver API’s
- Selenium Grid.
Selenium RC and WebDriver API’s were later integrated into a single framework, renamed as Selenium-2. So if you see anywhere Selenium-1, it refers to Selenium RC alone. Selenium-2 includes both- RC and WebDriver.
Selenium IDE : Selenium IDE (Integrated Development Environment ) is a browser plugin for Firefox. Selenium IDE is pretty simple, lightweight but a very powerful tool, which allows the record and play functionality for your tests. Developed by Japanese developer, Shinya Kasatani, IDE allows you to record the browser interactions and then later simulate them by playing.
Selenium Remote Control : Also known as Selenium 1. This was created by ThoughtWorks Engineer Paul Hammant, owing to restrictions imposed by the Same Origin Policy, which prohibits the JavaScript code from accessing elements from a domain that is different from where it was launched. So Paul created a server, which acted as a HTTP proxy. This would make the browser trick into thinking that, the Selenium core and the web application are based on a single system/ domain.
WebDriver : Selenium WebDriver was first introduced in 2006. The main brain behind this powerful API was Simon Stewart. WebDriver was the first web testing framework , which was cross-browser and cross-platform and allowed controlling web interactions on a browser from the OS level. Selenium WebDriver gives a tester the freedom to write test scripts in various languages (Java, Perl, Python, C# etc.), which removed the language barrier, and provided a rich framework and object oriented API’s to the testers, to test user interactions on the web application. In 2008, Selenium RC and WebDriver were merged to created what we now know as Selenium-2.
Selenium GRID : Selenium Grid was first conceived by Paul Lightbody. Selenium Grid is a server that allows you to run tests-across machines, across different browsers, in parallel. So if you want your test execution to be on different platforms- across browsers, all running in the same time, then Selenium Grid is your tool. The perfect definition is mentioned in the Selenium Grid source page– it allows running your tests in a distributed test execution environment.
If you want to know how you can set up Selenium- both IDE and WebDriver, head over to thispage, where I’ve explained the detailed steps for both.