Selenium Introduction ,Benefits and components of Selenium
Selenium was created by Jason Huggins in 2004, he was an engineer at Thought Works.
- Selenium is a free and open-source test automation tools used for automating web-based applications.
- Selenium supports automation across different browsers, platforms, and programming languages.
- Selenium is basically a library which you can use in your program to test a web application.
- functional tests can be automated easily using selenium and we can integrate them with build automation tools, Ant , Maven, Jenkins or other few third party tools.
Benefits of Selenium
- Selenium is a free and open source tool.
- Selenium supports multiple operating systems like Windows, Mac, UNIX, and Linux.
- Selenium supports multiple browsers like Chrome, Firefox ,Internet Explorer, Safari etc.
- Selenium is quite similar to HP Quick Test Pro (QTP now UFT) only that Selenium focuses on automating web-based applications.
Four Components of Selenium
Selenium is not just a single automation tool but it is a suite of tools, each catering to different testing needs of an organization. It has four components.
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Selenium WebDriver
- Selenium Grid
1) Selenium Integrated Development Environment (Selenium IDE) :
- Selenium IDE is the browser[Mozilla Firefox, chrome] extension and it allows us to record and play the test case for websites.
- Selenium IDE is a starting of learning and the best use to record user actions quickly and save time .
- It does not allow to use any programming language in creating test scripts
2) Selenium Remote Control (RC)
- Selenium RC is written in Java and It accepts commands from browsers via Http.
- The primary objective of Selenium RC is to convert your Selenese to a programming language.
- It supports all browsers like Firefox, IE, Chrome, Safari, Opera etc.
- Selenium RC cannot support the headless Html Unit browser ,it needs a real and visible browser to operate on.
There are 2 components of Selenium RC
a) Selenium RC Server–
It acts as a middleman between your selenium commands and browser. , so it needs to be launched before you start testing.
b) Client libraries–
It provides interface between programming languages and Selenium RC server.
3) Selenium WebDriver
- Selenium web driver is a web automation framework that allows you to execute test cases against multiple browsers.
- Selenium WebDriver supports all browsers like Firefox, IE, Chrome, Safari, Opera etc.
- Does not require to start server before executing the test scripts (unlike Selenium RC)
- Selenium WebDriver is faster than Selenium RC as it speaks directly to the browser’s own engine to control it.
- WebDriver can support headless Html Unit Browsers as well.
4) Selenium Grid
- Selenium grid helps in the distributed running of Selenium tests in parallel across different browsers, operating systems, and machines .
- Selenium Grid uses a hub-node concept where you only run the test on a single machine called a hub but the execution will be done by different machines called nodes.