They have named this tool as Selenium based on a chemical element in Chemistry which is used to destroy Mercury chemical element. Mercury tool which is now called as UFT was the most popular automation tool.
Selenium has 4 different components that is:
- Selenium IDE (Integrated Development Environment)
- Selenium 1.0 (Also called as Remote Control)
- Selenium 2.0/3.0 (Also called as Webdriver)
- Selenium GRID
Latest version of selenium is 3.4.0 which can be downloaded from http://www.seleniumhq.org/download/
Selenium supports multiple operating systems, multiple browsers and multiple languages. It gives you flexibility to choose the language in which you have expertise. Following is the list:
- Multiple Operating Systems : Android, iOS, Windows, Linux, Mac, Solaris
- Multiple Browsers : Chrome, Internet Explorer, Edge, Opera, Safari etc
Selenium Tool is known for its performance and execution speed. Let’s discuss about the different components of Selenium:
1)Selenium IDE : It is a record and play tool and a plugin of firefox. This plugin is used to create prototypes of tests. Following are the features of this tool:
- Easy to install
- Test Scripts are created by just click on record button
- Can record, edit and debug scripts
- Simplest way to learn Selenium syntax.
- Test Scripts can be imported in multiple languages like Python with Remote Control, Java with Webdriver, Java with Remote Control, Ruby with Remote Control etc
This plugin can be downloaded from following URL:
2)Selenium 1.0 (Remote Control) : This was the first component developed in Selenium Suite. Selenium became famous because of this component. It works in following manner:
1) Using this component, we write test scripts which interacts with Selenium Remote Control Server.
There were many drawbacks in this tool that is:
- Confusing commands.
- Remote Control Server acts as a mediator which makes its execution slower.
Selenium Webdriver (2.0/3.0) : After Selenium RC, Webdriver has come which make its architecture more simpler. Now, there is no server. Test Scripts interact directly with the browser. The execution is much faster compared to Selenium Remote Control. Selenium Commands were segregated in different classes which become easy for end user to remember and to implement.
Last year, Selenium has launched a new version that is 3.0 which is much lighter than Selenium 2.0. There are not much change done which impact the end user but multiple were done at the backend. Syntax for loading Firefox has been changed to following:
System.setProperty(“webdriver.gecko.driver”,”path to gecko driver”);
Webdriver driver = new FirefoxDriver;
Selenium Gecko Driver can be downloaded from following URL, the latest version for Gecko Driver is 0.16.1:
Selenium GRID : It is used for parallel testing. This component enable us to execute automation framework on different machines placed at different location. However, all the machines should be connected on a Local Area Network. It can be used with Selenium Remote Control as well as with Selenium Webdriver. Please note that Selenium Remote Control classes have been deprecated now. So, we couldn’t use this component with Selenium Remote Control.