Selenium And Its Salient Features

Read it in 3 Mins

Last updated on
08th Jun, 2022
Published
11th Jun, 2017
Views
843
Selenium And Its Salient Features

Selenium is an open source web app automation tool by ThoughtWorks (IT outsourcing company). It has 4 components. Out of which one component i.e. Selenium Remote Control was developed by a Jason Huggins team in 2004. It was primarily developed in DHTML/Javascript when they were working on time and expense application written in Python programming language. Later, Simon Stewart has developed a new component that is called as Webdriver in 2006 to overcome the disadvantages faced in Selenium Remote Control. And post that Selenium Remote Control and Webdriver were merged together and developed Selenium Webdriver.

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 https://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 Programming Languages : Java, Python, PHP, Ruby, Perl, JavaScript
  • 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:

https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/

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.

2) Server interprets the code and converts it into javascript and further injected into the browsers.

3) Javascript gets executed at the browser and response is sent back to the server which forwards it to the user.

There were many drawbacks in this tool that is:

  • Confusing commands.
  • Remote Control Server acts as a mediator which makes its execution slower.
  • Use of Javascript

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:

https://github.com/mozilla/geckodriver/releases

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.

Profile

Raghav Globalservices

Blog Author

Raghav has 8+ years of experience with 7+ years of experience in Automation Testing using Selenium, Appium, Ranorex tools etc. in multiple project domains. He is a Consultant &amp; Trainer has trained more than 6000+ US, UK, Russian &amp; Indian students &amp; is a corporate Trainer for several MNCs. <a href="https://www.linkedin.com/in/aroraraghav/" rel="no follow">linkedin.com</a>