Quick tour

Selenium is not just one tool or API but it composes many tools.


WebDriver is also known as Selenium 2. If you are beginning with desktop website test automation then you are going to be using WebDriver APIs. WebDriver uses browser automation APIs provided by browser vendors to control browser and run tests. This is as if a real user is operating the browser. Since WebDriver does not require its API to be compiled with application code, it is not intrusive in nature. Hence, you are testing the same application which you push live.

Remote Control

Remote Control is also known as Selenium 1. Selenium RC was the most prominent Selenium tool before the advent of Selenium WebDriver. Selenium RC would use a proxy server and inject JavaScript into a browser to be able to control it. Given the intrusive nature Selenium RC had on a browser, you could never be sure if what you were testing was the same as the application you wanted to push live. Selenium 2 APIs yet contain Selenium RC APIs but Selenium 3 would completely get rid of Selenium RC APIs. If you are still using Selenium RC then you must migrate to Selenium WebDriver.


IDE is a Firefox plugin which can be used to record test steps in Firefox itself. Selenium IDE can be used to generate quick and dirty test code in a variety of programming languages (i.e. C#, Java, Python, and Ruby). Given the maintainability of code generated through Selenium IDE, it is not recommended to use it for anything more than getting acquainted with element locators or generating throw away code. We are sure that once you get used to the WebDriver API, you will never use Selenium IDE.


Soon after development of WebDriver tests, you may face a need of running your tests on multiple browser and operating system combinations. This is where Grid comes to the rescue.

HTML Runner

This tool allows you to run Test Suites from the command line. Test Suites are HTML exports from Selenium IDE or compatible tools. HTML Runner