Selenium is an open source, software testing framework used for web applications that are also portable. With Selenium, users can author tests without learning any scripting language with the help of a record/playback tool.
With Selenium, users have access to a domain specific language, Selenese, to write tests in programming languages. The tests that are written can run on different web browsers and can be deployed on platforms like Windows, Linux and OS X. it can be downloaded for free under the license of Apache 2.0.
Components of Selenium
Selenium IDE: It is an integrated development environment for any Selenium tests. Implemented as Firefox Add-On, it allows tests to be edited, recorded and debugged. Auto complete service is provided to the scripts so that they can be edited and recorded manually. These scripts are recorded in Selenese.
Selenium Remote Control: It is a server written in Java that responds to commands for the browser through HTTP. With RC, writing tests for any web application using any programming language is made easy. Better integration is possible with Selenium in the unit testing frameworks. A Selenium RC Server is used for launching HTML, PHP and Java test cases.
Selenium Web Driver: It is a successor of Selenium RC. It has the ability to send the commands that it received from the API to the Web Browser.
Selenium Grid: It is a server which allows the tests to utilize web browser instances that run on remote machines.