What is selenium?
Selenium is a record and playback open source IDE. This tools of suite are beneficial in automating the web application. This selenium is not a single tool but a set of tools that helps testers to automate web applications more effectively. This is used to generate integrated scripts. Moreover, this tool is integrated with the Firefox web browser extension. Besides this popular web-based UI tool can extract any kind of locator from the web page. And the locators in selenium can be either attribute based (or) structure based. This includes ID, name, links, X path, CBS as well as DOM.
The interesting feature of this IDE is, it has the entire selenium core and allows the users to record, playback, edit and debug the tests manually in the browser. Besides we can easily record all web page user actions. And the testers can easily export this to popular languages like JAVA, C++, Python and Ruby
As said above, this selenium contains suite tools. Let us have a look over those.
Selenium IDE:
This is a Firefox plugin that let users record their actions. Besides this IDE follows the workflow to they need to test. Even though we create the scripts through Selenium IDE, we need to use Selenium Web driver and Selenium RC. The below diagram shows IDE usage
Selenium RC:
This solves the limitations of the Selenium IDE. This supports various languages like JAVA, PHP, python as well as Ruby. Prior to the selenium web driver, it is the main selenium project for a long time. This allows you to write automated web applications. Against HTTP, testing is done using JavaScript enabled browser. The selenium RC usually consists of two parts like Sever and the client. But with Selenium V3, RC was deprecated and moved to the legacy package. The Selenium RC - architecture is shown below
Selenium Web driver:
In version 2.0 selenium web driver is introduced. Whereas version V1.0 consists of IDE, RC, and Grid. This is the successor of Selenium RC. This has a simple architecture. This sends the commands directly to the browser and sends the results. When compared to Selenium RC, Selenium Web driver is fast. This is because it interacts directly with the browser and there is no involvement of an external proxy server Besides this allows writing of the test scripts in different programming like Java, Perl, Python, Php, Ruby as well as C#.
Click the link to know more on What is selenium Webdriver
Note :
Mozilla Firefox is the selenium default web browser.
Selenium Grid :
This tool is used together with Selenium RC to run a parallel test across different browsers. i.e it can run multiple tests at the same time against different machines through different browsers and operating systems.
selenium Features:
It offers unlimited iteration for test case execution
Provides complete support for fast-paced and agile methodologies
Comprehensive document for test cases
We can easily download the defect reports
Selenium Advantages:
Selenium is an open source, free and easy to learn
It can easily record and playback
Selenium supports multi-operating and multi-browser systems
Script once and run on multiple browsers.
Before the Selenium, people use QTP. Now let us have a look over the differences between Selenium and QTP.
Selenium | QTP |
Selenium is an open source tool | It is a commercial tool and there is a cost involved in each of the licenses |
It can be extended for various technologies that extend DOM | QTP as limited add-ons and needs add- on for each technology |
It has capabilities to execute scripts across different browsers | This works only on windows |
It mobile devices | It supports mobile devices with the help of third-party tools |
With the support of the grid, it can execute the tests in parallel | QTP alone cannot execute the test in parallel, however, integrating QTP with QC allows the tester to execute in parallel |