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 are:
- 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 the 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 the different components of Selenium:
1) Selenium IDE
It is a record and play tool and a plugin for 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
- The 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 the 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 the following manner:
There were many drawbacks to 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 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 is not much change done which impact the end user but multiple were done at the backend. The 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 this URL, the latest version of Gecko Driver is 0.16.1:
It is used for parallel testing. This component enables us to execute automation framework on different machines placed at the different location. However, all the machines should be connected to 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.