Selenium is a test environment for Web applications that was developed by a team of programmers of the company ThoughtWorks and released as free software under the Apache 2.0 license. It is a widely used tool for automated testing of web applications and is one of the most popular open source testing tools.
With Selenium, it is possible to record interactions with a Web application, and these tests automated arbitrarily to repeat often. It may decrease mainly developers of Web applications much typing - for example, when filling out web forms - and makes testing faster, more flexible and reliable.
The core module contains all the basic functionality of Selenium, so the test command API and the test runner. Using Core Modules TestRunner.html the website can be opened with different browsers. This compatibility tests with different types of browsers are possible.
Selenium IDE is an add -on for Mozilla Firefox, with which it is possible directly in the browser by the interaction record test cases with a Web application and play it again in the browser. Besides the pure capture-replay functionality can be checks by verify and integrate assert. In addition, the gradual play of test cases and the setting of breakpoints to check the test cases is possible. Individual test cases can be combined into test suites.
Selenium Remote Control ( RC)
RC is a module that provides its own server instance in the form of proxies. This Selenium server is remotely controlled by a Selenium client driver. This can be done in different programming languages , such as Java, . NET, Perl, PHP, Python, Ruby. In Java, these test cases can be run JUnit or TestNG example by means of. It allows the test automation of GUI testing in combination with continuous integration.
With the release of Selenium 2 was replaced Selenium RC Selenium WebDriver and marked as deprecated.
Selenium WebDriver is the successor of Selenium Remote Control. It accepts commands ( in Selenese or via the client API ) and forwards them to a current browser. A special feature is HtmlUnit. This is a web browser without a graphical display ( headless ). Implements the Selenium WebDriver via browser Driver, with the most common browsers are supported.
Selenium Grid is an extension of Selenium RC and allows the parallel execution of tests on multiple servers in order to shorten the duration of the test. The Selenium client driver, is complemented with the Selenium Hub component instead of using the Selenium server. The hub in turn passes the tests continue to free Selenium server. Existing test cases for Selenium RC can be used with slight modifications with Selenium Grid. The test cases, however, are executed in parallel, eg TestNG.