Special Offer - Enroll Now and Get 2 Course at ₹25000/- Only Explore Now!

All Courses
What is Selenium?

What is Selenium?

November 20th, 2018

What is Selenium?

Selenium is a testing tool which is used for automation. It is the open source interface used for automation testing. With so many tools around, the market is shifting towards automation testing rather than manual testing. Automation Testing is cost saving and errorless. If walking on the road is manual testing then choosing a vehicle is automation testing. Selenium automates the test scripts.

So, does this automation works on all types of application? There’s a limitation; Selenium supports only web-based applications. It cannot be used in desktop-based applications like Notepad, MS Paint that we use daily. There are other tools that can be used to automate both web-based applications and desktop applications like QTP. But again, QTP is a licensed tool whereas Selenium is an open-source tool.

Selenium was developed by Jason Higgins at ThoughtWorks in 2004. He named it JavaScript Test Runner. Later, in 2006 he developed Selenium WebDriver along with Simon Stewart. In 2009, these two were merged and called Selenium WebDriver or the new version as popularly known Selenium 2.0.

Components of Selenium:

Selenium is not just a tool but a set of tools which automates the test scripts. It is the most popular testing tool because of its platform-independent, language independent utility. We will talk about it and compare with other testing tools. There are 4 components of Selenium:

  1. Selenium IDE (Integrated Development Environment).
  2. Selenium RC(Remote Control)
  3. Selenium WebDriver
  4. Selenium Grid

Selenium IDE

Integrated Development Environment is a plug-in for automation framework. It was initially used as a Firefox plug-in and available on Chrome Store recently in updated versions. It is a simple record and play tool used for prototype testing. It supports Record/Playback debugging feature along with editing and recording option. It allows us to test and playback tests in the browser where you can perform editing, debugging and recording tests. IDE provides Graphical User Interface for recording user actions. It is the simplest tool that creates tests very quickly without learning a test scripting language. Test cases’ execution is slow as it does not support the execution of test cases in parallel or remote execution. To overcome IDE’s limitations, another component i.e. Selenium RC is useful.

Selenium RC

Remote Control is a standalone java program which allows us to run Html test suites. Selenium RC architecture is complicated as it does not directly interact with Web browsers. Instead it uses HTTP proxy to communicate with the browser. It injects javascript into the browser while loading the web-page. Selenium RC Server acts as a mediator between command and the browser. Separate application is required to run Selenium RC Server. Selenium RC has in-built result report generator.

Selenium WebDriver

Selenium WebDriver is an advance version of Selenium RC. WebDriver provides an easy to use platform and a set of API’s which can read the script effortlessly, thus easier to read and maintain the scripts. It is purely an object oriented interface with improved features and functionalities which were not present in Selenium RC. Its architecture is simpler than Selenium RC because it directly allows the browser to retrieve test results. Unlike Selenium IDE it interacts with different browsers for example: Google Chrome, Internet Explorer, Safari, Mozilla Firefox etc. There is no need for intermediary between user and browser. Selenium WebDriver manages the browser from the OS level directly. It enables you to use programming languages of your choice to create test results. For example; Java, .Net, Python, PHP, Pearl etc.

Selenium Grid

Selenium Gridis another tool that allows the tests to run across multiple nodes. We can run scripts in parallel medium i.e. across multiple platform and browsers. Grid runs alongside different machines and runs the test. Selenium Grid allows us to consume less time in execution of test results as it runs scripts on multiple environments. All you need to do is to configure nodes. Selenium Grid comes in 2 versions. The most recent is Selenium-Grid 2.0

Selenium vs Other Tools:

Selenium is most widely testing tool now a days. Selenium is open source whereas other popular tools such as QTP and others are commercial and very costly. We just need to download Selenium and start testing. Selenium can execute scripts across various browsers while QTP is limited to only certain browsers. Unlike QTP which supports VB script only. Selenium has more scalability i.e. it supports Java, C#, Python, PHP, JavaScript. Selenium supports multiple platforms such as Windows, Linux, MAC, And UNIX. QTP supports Windows platform only.

Selenium


Cost: Open Source, Portable

Test Environment: can use with wide range of IDE’s e.g. Eclipse, Netbeans.

Scalability: supports Java, .Net, Python, Pearl etc.

Plugins: supports add-on plug-in outside Selenium core also. As it is open source, plug-ins are available free of cost.

QTP


Cost: very expensive.

Test Environment: need separate environment.

Scalability: supports VB script only.

Plugins: also supports plug-in but license is required to use it. Not available for free. User has to purchase the licenses.

Thus we make ourselves acquainted with Selenium and its advantages. Despite having being used in web applications only, usage of Selenium is more in the market. It can be considered as the leading testing platform which helps testers to automate reusable scripts with a simple-to-understand and easy-to-use interface. It is cost effective and reduces time thus increases productivity and efficiency. Just choose your right Selenium tool and get going.