Selenium Tutorial

Selenium Tool Suit Versions of Selenium Selenium Testing Difference Between Selenium and QTP Advantage and Disadvantage of Selenium

Selenium IDE Topics

Selenium-IDE Introduction Installation /download  Selenium–IDE (Firefox) Installation /download Selenium–IDE (Google Chrome) Characteristics of Selenium-IDE First test case of Selenium-IDE Login test for Selenium-IDE Selenium-IDE commands Selenium-IDE locators Id locator Name Locator  X Path Locator CSS Selector Locator Locating by ID Locating by Class Locating by Attribute Locating by ID/Class & Attribute Locating by Sub-string Locating by inner text Link Text Locator Advantage and Disadvantage of Selenium-IDE

Selenium WebDriver Topics

WebDriver introduction Characteristics of WebDriver Difference Between Selenium RC and WebDriver Installation steps of WebDriver WebDriver Class Diagram/ Architecture WebDriver control commands Browser control Navigation control Web element control Operational control Data capture control Verification control WebDriver working with chrome browser WebDriver working with Firefox browser WebDriver working with internet explorer browser WebDriver working with Microsoft Edge browser WebDriver locator Id Locator Name Locator Class name Locator Xpath Locator XPath axes Link text Locator Partial link text Locator Tag name Locator Css Selector Tag and Id Tag and Class Tag and Attribute Tag, class, and Attribute Sub string matches WebDriver wait statements Drop down handling Mouse and keyboard controls Drag and drop Event Handling Window Handling: New tab/new window Alert pop up Handling Checkbox Handling Radio button Handling Selenium Assertion

Selenium vs QTP

In this section, we are comparing the most frequently used automation tool –Selenium and QTP. Selenium and QTP have relative advantages over each other-

FeaturesSeleniumHP QTP
LicensingSelenium is an open-source testing tool. Selenium is free and not required any licensing.QTP is a commercial tool by Micro Focus and  to use QTP,  requires a license, and it is expensive
Test SupportSelenium supports an only web-based application for automation.QTP Support both web and desktop-based applications.
Resource consumptionSelenium has low resource consumption. QTP has high resource consumption.
 Programming Languages SupportSelenium supports multiple languages like-Java, C#, Ruby, Python, Perl, PHP, and JavaScriptQTP supports only VB Script.
Environments Support Selenium supports multiple environments, like Android, iOS, Windows, Linux, Mac, Solaris.QTP supports only Windows.
IDE SupportsSelenium has the option of using multiple ranges of IDEs like Visual Studio, Eclipse, Net beans.QTP  has its IDE to develop a test script
Browser SupportsSelenium supports multiple browsers like Google Chrome, Mozilla Firefox, Internet Explorer,  Opera, Safari, etc.QTP supports specific versions of Google Chrome, Mozilla Firefox, and Internet Explorer.
Object Repository/Recovery ScenarioSelenium does not  have a built-in object repository, but  some time object can be managed by using UI element user extension.QTP has Built-in object repository and recovery scenario. Object repository development and maintenance is secure in HP ALM.
Technical SupportsSelenium has no official support because it is an open-source.HP QTP has excellent technical support.
Browser ControlsNo browser control in Selenium. Browser Controls like favorite bar, backward and forward buttons.
Tool ManagementSelenium did not integrate with any tool.QTP integrates with a test management tool like HP Quality Center.
Test Report GenerationSelenium relies on an external tool for generating test reports. QTP Built-in tool for test report generation.
ParameterizationIt relies on any one of the supported programming languages for parameterization.QTP has built-in tools for parameterization.

Drawback or Limitations of Selenium

Followings are the Drawback or limitations of Selenium:-

Drawback /LimitationsDescription
Desktop applications cannot be automated by Selenium.To test the desktop application, we have tools like Test Complete, Winnium, and QTP/UFT, etc. 
Mobile applications cannot be automated by Selenium.   For mobile applications, Appium is the best tool to automate. 
Technical skills are required toautomate the test cases in Selenium.Test engineers should have to know any of the programming languages like Java, Python, C#, Ruby, JavaScript, etc. to create useful automated tests script. 
  Built-in Object Repository is not there in Selenium for maintaining the objects at a centralized location.QTP/UFT is the tool which has this feature.
For automating Web Services like Soap or Rest Selenium is not used. We have other tools like Rest Assured Framework, Apache HTTP Client and, SoapUI, etc. to automate web Service. 
The capability to test the images does not support bySelenium. To perform Image-Base Testing , Selenium integrates with tools like Sikuli.   
By default, selenium does not have reporting capability. To get the reporting feature, Selenium has to integrate with TestNG, Extent Reports, etc. 
Window Based pop-ups which appear while we are working with the Web-based application functionalities like upload File etc. cannot handle by Selenium.To handle Window Based pop-ups, Selenium integrates with tools like AutoIt. 
 Selenium cannot automate the Captcha code.The best way to test the captcha code is to ask the development team to disable them or make them static. 
Video Streaming cannot be automated by Selenium.The content which is playing inside the video can’t be tested by selenium. 
For creating and executing the test scripts, selenium does not have its IDE. Selenium needs other IDEs like Eclipse IDE, IntelliJ, etc. 
There is no vendor or official support, as Selenium is an Open Source and free tool. While other tools like QTP/UFT, HP Company provides official support. 
In Selenium, we have to configure each and everything on our own like creating test environments or test scripts in Selenium. While tools like QTP/UFT, Test Complete, etc. have their inbuilt features to develop everything. 
To automate Performance testing , Selenium is not an effective solution.We have specific tools like JMeter, Load Runner, etc. are useful in performance testing.