Selenium is a software testing framework for the web that facilitates the automation of browsers. The Selenium project produces various tools for automation testing such as Selenium IDE, Selenium Remote Control (RC), Selenium Grid and Selenium 2.0 & WebDriver. Learning all the tools will give you many different options for approaching different automation problems. The entire suits of tools result in a rich set of testing functions specially geared to the needs of testing of web application of all types.
- – Selenium is an open source tool with Corporate backing.
- – The tests can then be run against most modern web browsers.
- – Selenium deploys on Windows, Linux, and Macintosh platforms.
- – It allows recording, editing, and debugging tests.
- – Recorded tests can be exported in most language e.g. html, Java, .net, perl, ruby etc.
- – Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser.
- – Selenium 1/ Selenium RC or Remote Control: Selenium RC was the main Selenium project for a long time before the Selenium Webdriver merge brought up Selenium 2, the newest and more powerful tool.
- – Selenium IDE (Integrated Development Environment): The Selenium IDE is a simple but powerful Firefox extension that lets users record and replay sets of browser interactions as test cases.
- – Selenium Grid: Selenium Grid is a server that allows tests to use web browser instances running on remote machines. It allows the Selenium RC solution to scale for large test suites and for test suits that must be run in multiple environments. Different tests can be run at the same time on different remote machines.
- – Selenium Web Driver : It also provides a test domain-specific language (Selenese/Webdriver) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. It is the newest addition to the Selenium toolkit. This provides all sort of awesome features, including a more cohesive and object oriented API as well as an answer to the limitation of the old implementation.
The primary new feature in Selenium 2.0 is the integration of the WebDriver API. WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing some limitations in the Selenium-RC API. It enables you to use a programming language to write test scripts in different programming languages like html, Java, .net , perl, ruby and which enables you to use conditional operations, looping and other programming concepts which makes you test script robust. Selenium-WebDriver was developed to better support dynamic web pages where elements of a page may change without the page itself being reloaded. WebDriver’s goal is to supply a well-designed object-oriented API that provides improved support for modern advanced web-app testing problems.