Quick tour

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

WebDriver

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.

Selenium Remote Control

Selenium 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.

Selenium IDE

Selenium 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're sure that once you get used to the
WebDriver API, you will never use Selenium IDE.

Selenium Grid

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 Selenium Grid
comes to the rescue.

Selenium HTML Runner

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