Selenium is an automation testing suite used for testing web applications. It is mainly used for functional and regression testing. Selenium is not a tool but it is combination of four different testing tools/components listed below:
- Selenium IDE
- Selenium Remote Control
- Selenium WebDriver
- Selenium Grid
Selenium provides a record/playback tool for authoring tests without learning a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. The tests can then be run against most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms. It is open-source software, released under the Apache 2.0 license, and can be downloaded and used without charge.
History Of Selenium:
Selenium was the innovative idea of Jason Huggins in 2004.It was initially used as an internal tool at ThoughtWorks. Huggins was later joined by few other programmers and testers at ThoughtWorks, before Paul Hammant joined the team and brought revolution that steered the development of the second mode of operation that would later become ‘Selenium Remote Control’ (RC). The tool was open sourced that year.
In 2005 Dan Fabulich and Nelson Sproul (with help from Pat Lightbody) made an offer to accept a series of patches that would transform Selenium-RC into what it became best known for. In the same meeting, the continuous improvement of Selenium as a project was continued as a committee, with Huggins and Hammant being the ThoughtWorks representatives.
In 2007, Huggins joined Google. Together with others like Jennifer Bevan important contributor , he continued with the development and stabilization of Selenium RC. At the same time, Simon Stewart at ThoughtWorks developed a superior browser automation tool called WebDriver. In 2009, after a meeting between the developers at the Google Test Automation Conference, it was decided to merge the two projects, and call the new project Selenium WebDriver, or Selenium 2.0.
In 2008, Philippe Hanrigou (then at ThoughtWorks) made ‘Selenium Grid’, which provides a hub allowing the running of multiple Selenium tests concurrently on any number of local or remote systems, thus minimizing test execution time. Grid offered, as open source, a similar capability to the internal/private Google cloud for Selenium RC. Pat Lightbody had already made a private cloud for ‘HostedQA’ which he went on to sell to Gomez, Inc.
The name Selenium comes from a joke made by Huggins in an email, mocking a competitor named Mercury, saying that you can cure mercury poisoning by taking selenium supplements. The others that received the email took the name and ran with it.
Popular tools integrating with Selenium
Below are several notable tools that make it easy to run Selenium tests and view their results:
- Jenkins provides plugins for integrating Selenium test results, and running Selenium Grid.
- Grails provides a plugin for easily adding Selenium tests to a Grails application.
- Apache Maven provides Selenium 2 artifacts in the central Maven repository.
- Visual Studio provides a plugin for running Selenium tests from Visual Studio programs.
- Drupal’s internal testing framework, SimpleTest, provides a Selenium integration.
- Silk Central is a test management platform that allows users to achieve real-time reporting and the ability to run Selenium scripts.
- SOAtest is an API testing tool that can use the Selenium WebDriver framework for Web UI testing, including cross-browser testing.
- Testdroid provides access manually, automated or via API to the Selenium WebDriver framework on real mobile devices and browsers.