Selenium upgrades to 3.0 – A new boost in software testing automation

Selenium 3.0
Automation Testing is the most sought-after approach by Software Testers today.

In the current market scenario, customer requirements are changing fast when it comes to the development lifecycle of a product. In order to tackle this change, the need for an organized approach to Software Testing is the key to success for any organization.

By the term ‘Organized Approach’, we mean both Manual as well as Automated Test methodologies. While Manual Testing involves manual execution of test cases to identify bugs in the software, automation testing removes the need for human intervention with the help of automated test scripts. The key advantages of Automation Testing approach is that –

a) It is less time consuming when compared to Manual Testing. Hence, the cost of labor is drastically reduced.

b) Minimizes human intervention that makes software testing less-error-prone.

c) Effective reuse of Automated Test Scripts in different versions of the software during Regression Testing.

d) Helps the developer to find and fix bugs at the initial stage of software development.

e) Leads to increased Test Coverage.

There are many tools available in the market that you can put to use for automation testing. Selenium is by far, one of the most widely used popular tools in the market. Although the tool was initially used for Ajax-based software testing, its true potential came to be realized in the later years when a group of people from ThoughtWorks turned the project into an Open Source and made the framework compatible with the different programming languages in order to get around the ‘Same Origin Policy’.

Hence, ever since its inception in the year 2004, Selenium has undergone various changes in its framework. Quite recently, the Selenium community has released an upgraded version of the tool. Before we get into the details of what the latest Selenium 3.0 has to offer, let us briefly discuss a little bit about the tool and its previous versions.

The 5 components that make a Selenium open source tool

A Selenium open source tool consists of five components. These are as follows –  

a) Selenium IDE is an integrated development environment that helps to prepare Selenium test cases. Here, Selenese is used as a scripting language to identify browser elements in the background.

b) Selenium Client API Offers API support for creating Selenium Test cases using different programming languages like C#, Java, Python.

c) Selenium RC – Selenium RC or Remote Control is a server that accepts commands for automating the browser through HTTP. When used with Selenium API client, it removes the need for Selenium IDE.

d) Selenium WebDriver – A successor of Selenium RC, Selenium WebDriver helps to overcome limitations related to Selenium RC like file upload/ download, popups, and dialog box handlings.

e) Selenium Grid – A server that aids in the parallel execution of Test cases from multiple browsers hosted on multiple remote machines.

Selenium

Selenium 1.0 and 2.0 at a glance

Selenium 1.0

Selenium 1.0 came into existence in the year 2004. Basically, it consisted of two components, which are as follows –

  • The first component is Selenium Integrated Development Environment (IDE). It is a Firefox plugin that is used for developing Selenium Test Cases in an editor. The Selenium IDE enables us to create and modify Test Cases as well as execute them in the browser.
  • The second component consists of two parts – Selenium Remote Control (RC) Server and Client Libraries. The Selenium RC Server uses Selenium Core JavaScript Commands to process Selenese command that is then received through HTTP from our test case program.

The second part is the Selenium Client libraries. Since Selenium supports different programming languages like Java, C #, PHP, there is a separate client library for each language. These libraries provide an interface between the language and the Selenium RC Server.

Selenium 2.0

The 2.0 version is the result of merging of Selenium 1.0 features along with Selenium WebDriver. It was introduced in the year 2009 with WebDriver as its major implementation.

In order to overcome the limitations that were found in the previous version, Selenium 2.0 was introduced with a JavaScript dependency of Selenium Remote Control on the removed browser.

Using the browser’s native automation support, the WebDriver was able to directly call the browser and then drive the Application Under Test (AUT) within the browser. As a result, in the second version, the WebDriver was able to completely replace the Selenium RC for new industrial projects.

Although Selenium RC is still used for backward compatibility of projects under maintenance, WebDriver is capable of effectively handling problems related to file upload/download, popups, and dialog barrier.

The new version upgrade – Selenium 3.0

Removal of dependency on Selenium Core was one of the major inspirations that led to the Selenium 3.0 version upgrade.

Apart from that, Selenium used complex JavaScript framework that had its own limitations. Some of the major operations that the user wanted to simulate on the AUT became impossible. With time, testing of modern web browser became more complex and this made Selenium Core very unpopular.

Key feature upgrade in Selenium 3.0

Selenium

In the month of May 2016, some of the major changes that were made to the tool are as follows –

a) Discontinuation of the use of Selenium Core

Removal of the Selenium Core was a major highlight. It was used in Selenium 2.0 release due to backward compatibility but due to the popularity of Selenium WebDriver in Selenium 2.0, WebDriver completely replaced Selenium Core in the 3.0 version.

b) Need for Higher Version Java

In order to use the upgraded features of Selenium 3.0, one has to upgrade the version of installed Java kit to 1.8 or higher.

c) Firefox Gecko Driver

With the launch of Gecko Driver by Mozilla, Firefox driver will no longer be the default driver in the Selenium project. Therefore, anyone using the Firefox version 48 or the later version will need to add the Firefox Gecko driver to the driver executable path first.

d) W3C Specification

Selenium WebDriver is not only used for Web Automation Testing but also for different mobile automation tools. There are different browser vendors who also started implementing their own version of the WebDriver.

From Selenium 3.0, a new standard will start getting defined. Any individual intending to start working with Selenium will need to follow the specifications as pointed out by W3C.

e) Browser Vendor’s own Implementation of WebDriver

From Selenium 3.0 onwards, browser vendors will bear the responsibility of implementing their own version of the WebDriver instead of Selenium providing their own implementations.

Managing huge number of Selenium Test Scripts has become a tedious job as more and more organizations are shifting to Selenium Test Automation.

Selenium does not provide any user interface to manage scripts. Kovair, with the help of its popular product Omnibus, has come up with Omnibus Selenium Adapter to help increase delivery quality in Continuous Integration and Continuous Development scenario for DevOps implementations.

Omnibus integration of Selenium adapter with Kovair

Omnibus is a product of Kovair that seamlessly connects different tools and their data using ESB/SOA architecture.

Currently, Kovair Omnibus provides adapter support for more than 75+ third party, legacy, and open source tools. These adapters ensure easy but reliable flow of data from one tool to another.

Kovair Selenium Adapter offers a convenient way to migrate Selenium automation scripts to any test management or other lifecycle tools like HP ALM, BugZilla or JIRA. This is done through Kovair Omnibus platform that increases the value of Selenium.

Migration of scripts to Kovair ITM (Integrated Test Management) tool gives users the power to manage or organize Test scripts, schedule Test Run at a preferred time, submit defect log to any Defect Management tool, generate user friendly graphical Test Execution report or view traceability of Test Scripts right from Requirement and its associated Test cases to corresponding selenium scripts.

Kovair Selenium Adapter works with TestNG automation framework and Netbeans Plugin that are provided by Kovair.

Information on Test Suite, Test Case, Test Case Result, Test Execution, and Test Execution Result can be synched to the target tool using the Add to Omnibus or Add to Omnibus and Execute feature provided by Kovair Netbeans plugin using this Selenium Adapter.

Moreover, Kovair Selenium Adapter also enables users to run automation Test Suites using Kovair Selenium Agent Service, where the latter is installed in the host machine without even going to the Host machine.

To conclude

Kovair Integration with Selenium can be used to automate the deployment process of any software. When used with Kovair ITM, it helps to automate the Build Triggering, Defect Tracking, Test Automation, and many more opportunities.

Prasenjit Dey is a Test Engineer at Kovair Software. He is responsible for ensuring the quality of various Kovair products through Manual as well as Automation Testing. He loves Software programming and during leisure hours he likes to listen to music.

9 comments

  1. Woww Thank you for the amazing information u have shared. that was very useful for me. do share more information.

Leave a Reply

Your email address will not be published. Required fields are marked *