Stqa Unit4
Stqa Unit4
Selenium Tool
Prepared By
Mr. Hule Kuldeep(ME-CSE)
8/3/23
Selenium Tool
Unit Objectives Unit Contents
1. To understand about Selenium. 1. Introducing Selenium
2. Brief History of the Selenium Project
2. To review history of the Selenium project.
3. Selenium Tool Suite
3. To understand Selenium Tool suite
4. Selenium-IDE
4. To understand Challenges & limitations of selenium. 5. Selenium RC
5. To understand various test design considerations 6. Selenium Webdriver
6. To understand how to install Selenium in Java. 7. Selenium Grid
8. Test Design Considerations
7. To understand how to run selenium in Chrome Browser.
2
Session 22: Introduction to Selenium
Content:
1. What is Selenium?
2. Why Selenium?
3. Features of Selenium
4. Brief History of the Selenium Project
3 5. Selenium’s Tool Suite
8/3/23
What is Selenium?
SELENIUM is a free (open-source) automated testing framework used to validate web applications across
different browsers and platforms.
Testing is done using the Selenium tool is usually referred to as Selenium Testing.
Originally developed by Jason Huggins in 2004 as an internal tool at Thought Works.
Selenium Software is not just a single tool but a suite of software, each piece catering to different testing needs of
an organization. Here is the list of tools
1. Selenium Integrated Development Environment (IDE)
2. Selenium Remote Control (RC)
3. WebDriver
4. Selenium Grid
4
8/3/23
Why Selenium Name?
1. The Name Selenium came from a joke which Jason cracked once to
his team.
2. During Selenium's development, another automated testing
framework was popular made by the company called Mercury
Interactive (yes, the company who originally made QTP before it
was acquired by HP).
3. Since Selenium is a well-known antidote for Mercury poisoning,
Jason suggested that name and his teammates took it.
5
8/3/23
Why Selenium?
There are several Benefits of implementing Automation Test; let’s take a look at them:
1. Supports execution of repeated Test Cases
2. Aids in testing a large Test Matrix
3. Enables parallel execution
4. Encourages unattended execution
5. Improves accuracy thereby reducing human-generated errors
6. Saves time and money
All of these benefits result in the following:
1. High ROI
2. Faster GoTo market Manual Testing Tasks
One of the most commonly asked questions that come with this are –
1. What is the best tool for me to get my tests automated?
2. Is there a cost involved in it?
3. Is it easy to adapt?
One of the best answers to all the above questions for automating web-based applications is Selenium.
6
8/3/23
Now let us see where Selenium stands in the market….
Features HP QTP IBM RFT Selenium
Dedicated HP
Customer Support Dedicated IBM support Open-source Community
support
Hardware consumption
High High Low
during script execution
2016 2019
Selenium 3 Selenium 4
Selenium 2 released alpha-1
released released
9
8/3/23
10
8/3/23
Selenium’s Tool Suite
11
How to Choose the Right Selenium Tool for Your Need 8/3/23
Tool Why Choose?
• To learn about concepts on automated testing and Selenium, including:
• Selenese commands such as type, open, clickAndWait, assert, verify, etc.
• Locators such as id, name, xpath, css selector, etc.
• Executing customized JavaScript code using runScript
Selenium IDE
• Exporting test cases in various formats.
• To create tests with little or no prior knowledge in programming.
• To create simple test cases and test suites that you can export later to RC or WebDriver.
• To test a web application against Firefox and Chrome only.
• To design a test using a more expressive language than Selenese
• To run your test against different browsers (except HtmlUnit) on different operating systems.
Selenium RC • To deploy your tests across multiple environments using Selenium Grid.
• To test your application against a new browser that supports JavaScript.
• To test web applications with complex AJAX-based scenarios.
• To use a certain programming language in designing your test case.
• To test applications that are rich in AJAX-based functionalities.
WebDriver
• To execute tests on the HtmlUnit browser.
• To create customized test results.
• To run your Selenium RC scripts in multiple browsers and operating systems simultaneously.
Selenium Grid
• To run a huge test suite, that needs to complete in the soonest time possible.
12
8/3/23
Shortcomings of Selenium
1. We can use Selenium only to test web applications. We cannot test desktop applications or any other software
2. There is no guaranteed support available for Selenium. We need to leverage on the available customer communities
3. It is not possible to perform testing on images. We need to integrate Selenium with Sikuli for image based testing
4. There is no native reporting facility. But we can overcome that issue by integrating it with frameworks like TestNG or
Junit
5. No centralized maintenance of objects & elements. We need to use the git for central object repository.
6. Difficult to Setup Test Environment when it compares to Vendor Tools like UFT, RFT, SilkTest etc.
13
Quiz on Session 22 8/3/23
1. The test language usually used in Selenium is ________________. 2. Selenium tests _____________.
a) PHP a) DOS applications
b) Python b) Browser-based applications
c) JavaScript c) GUI applications
d) None of the above d) None of the above
14
Session 23: Selenium IDE
Content:
1. Introduction Selenium IDE
2. Why to choose Selenium IDE?
3. Selenium IDE-Installation
4. Features of Selenium IDE
5. Selenese
15 6. Hands-On
8/3/23
What is Selenium IDE?
Selenium IDE is Selenium Integrated Development Environment.
Simplest framework in the Selenium suite and is the easiest one to learn.
It is a Firefox/Chrome plugin that you can install as easily as you can with
other plugins.
Tool to develop & edit test cases & test suites.
You can record & play back tests.
However, because of its simplicity, Selenium IDE should only be used as
a prototyping tool.
16
8/3/23
Why to choose Selenium IDE?
To learn about concepts on automated testing and Selenium, including:
Selenese commands such as type, open, clickAndWait, assert, verify, etc.
To create simple test cases and test suites that you can export later to RC or WebDriver.
To test a web application against Firefox and Chrome only.
Supported Exports: Currently, export to the following languages and test frameworks is supported.
C# Nunit, C# xUnit, Java JUnit, JavaScript Mocha, Python pytest
17
8/3/23
18
8/3/23
19
8/3/23
Selenium IDE-Installation
1. Since, Selenium IDE is available only as Firefox and Chrome plug-in, we have to install any one of the web browser from both.
Link for Firefox: https://www.mozilla.org/en-US/firefox/new/
Links for Google Chrome: https://www.google.com/chrome/
2. Selenium IDE Download and Install
a) Launch Mozilla Firefox browser.
b) Open URL https://addons.mozilla.org/en-us/firefox/addon/selenium-ide/ It will redirect you to the official add-on page of Firefox.
c) Click on "Add to Firefox" button.
d) A pop-up dialog box will be appeared asking you to add Selenium IDE as extension to your Firefox browser.
e) Click on "Add" button.
f) Restart you Firefox browser.
g) Go to the top right corner on your Firefox browser and look for the Selenium IDE icon.
h) Click on that icon to launch Selenium IDE.
20
8/3/23
Features Selenium IDE
Selenium IDE is divided into different components, each having their own features and functionalities. We have
21
8/3/23
1. Menu Bar & 2. Address Bar
Menu bar is positioned at the top most portion of the Selenium IDE interface. The most commonly used modules of menu
bar include:
1. Project Name: It allows you to rename your entire project.
2. Open Project: It allows you to load any existing project from
your personal drives.
3. Save Project: It allows you to save the entire project you are
currently working on.
2. Address Bar: This module provides you a dropdown menu that
remembers all previous values for base URL. In simple words,
the base URL address bar remembers the previously visited
websites so that the navigation becomes easy later on.
22
8/3/23
2. Tool Bar
The Tool bar contains modules for controlling the execution of your test cases. In addition, it gives you a step feature for
debugging you test cases. The most commonly used modules of Tool Bar menu include:
1. Speed Control Option: It allows you to control the execution speed of your test cases.
2. Step Feature: It allows you to "step" through a test case by running it one command
3. Run Tests: It allows you to run the currently selected test. When only a single test is
loaded "Run Test" button and "Run all" button have the same effect.
4. Run All: It allows you to run the entire test suite when a test suite with multiple test
cases is loaded.
23
8/3/23
4. Test Case Pane
This module contains all the test cases that are
recorded by IDE.
At the bottom portion of the Test Case Pane, you
25
8/3/23
7. Log, Reference Pane
The Log Pane displays the runtime messages during execution. It provides real-time updates of the actions performed by
the IDE. It can be categorized into four types: info, error, debug and warn.
The reference Pane displays the complete detail of the currently selected Selenese command in the editor.
26
8/3/23
Selenese
Selenese is the set of selenium commands which are used to test your web application.
A command tells Selenium what to do.
Using selenese, one can perform activities like:
1. Testing the existence of UI elements based on their HTML tags.
2. Test for specific content.
3. Test for broken links.
4. Testing input fields, selection list options, submitting forms and table data among other things.
5. Testing of window size, mouse options, alerts, Ajax functionality, pop-up windows, event handling and many other web
application features.
A sequence of Selenium commands (Selenese) together is known as test script.
Selenium commands are classified into 3 basic categories:
1. Actions Commands
2. Accessors Commands
3. Assertions
27
Selenese script syntax 8/3/23
Selenium commands are written in sequence to form test scripts.
The selenese test scripts are written in a 3 column format which
consists of the selenese command and two optional parameters.
These parameters are not always required. It depends on the selenese
command that is used.
The command parameter is the selenese command chosen by the user
such as ‘assertText’.
The first parameter is the target. Target is the UI element on the web
page over which the command has to executed.
The second parameter is value. Value is the expected result when the
particular command is executed on the target. Not all commands
have a value and a target parameter.
NOTE: The target parameter which is the UI element can be located
using the FIND button on the selenium IDE.
28
8/3/23
Benefits of Using Selenium IDE
1. Provides you the capability of automatically recording your test cases based upon the interactions with the
browser
2. Gives developers greater flexibility in executing the test cases. Either the test developer can run the entire test
suite consisting of multiple test cases or execute a single test case
3. Operates on the basis of the rich set of Selenese commands, which helps the IDE understand what needs to be
done
4. Allows the test developers to set breakpoints for the purpose of debugging particular test cases
5. Test cases can be re-used using the run command. (e.g. allowing you to re-use the logic of login or reload on
multiple places in the entire suite)
6. Use of multiple-locators for each element in the IDE ensures successful execution
29
8/3/23
Limitations of Selenium IDE
1. Not suitable for testing extensive data like Big Data
2. Recording all possible cases for automation is not possible like file upload, screen shots, etc.
3. Incapable of handling multiple windows
4. Connections with the database can not be tested
5. Cannot handle the dynamic part of web-based applications
6. Does not support capturing of screenshots on test failures
7. No feature available for generating result reports
30
8/3/23
Selenium IDE- First Test Case
In this section, you will learn how to create a basic test case in Selenium ide.
The entire test script creation process in Selenium IDE can be classified into three steps:
1. Recording (recording user interactions with the browser)
2. Playing back (executing the recorded script)
3. Saving the test suite
31
8/3/23
Pros & Cons of Selenium IDE
32
Quiz on Session 23 8/3/23
1. What is Selenium IDE? 2. In the case of Selenium IDE, the Source view shows your script in.
a) Windows Software a) DHTML format
b) Firefox Plug-in b) J2EE format
c) Java Software c) XML format
d) Flash Plug-in d) HTML format
Content:
1. What is Selenium RC?
2. Features of Selenium RC
34 3. Components of Selenium RC
8/3/23
What is Selenium RC?
Selenium RC was the flagship testing framework of the whole Selenium project for a long time.
This is the first automated web testing tool that allowed users to use a programming language they prefer.
It is a server, written in Java that accepts commands for the browser via HTTP.
Or we can say,
It is a testing framework that enables a QA or a developer to write test cases in any programming language in order to
automate UI tests for web applications against any HTTP website using any mainstream JavaScript-enabled browser..
Provide an API & library for each of its supported language HTML, Java, C#,PHP, Python,……
35
8/3/23
Features of Selenium RC
1. It allows user to use a programming language in designing your test scripts.
2. Allows user to run tests against different browsers.
3. Allows to use any JavaScript enabled browser.
4. Works with any HTTP website.
5. Automatically launches server & kills browsers, & acts as a HTTP proxy for web requests from them.
6. A server written in Java so, it is available on all platforms.
7. Selenium RC automatically configures the browser
8. Allows the test automation developer to use a programming language for maximum flexibility & extensibility in
developing test logic.
36
8/3/23
Components of Selenium RC
Selenium RC interacts with browsers with the help of Selenium RC Server
and RC server then communicates with the help of Selenium Core JavaScript
commands.
RC Server receive Selenium commands called Selenese from test program
using simple HTTP GET/POST requests.
37
8/3/23
Selenium RC Components Continued…
1. Selenium Client Library:
Client Library provides the programming support.
Client Library in any
Each programming language has its own client library programming language like
Client Library communicates with Selenium Server for processing a specific action Java, Python, Perl,..
(Selenese)
It also reports corrective action for unexpected errors.it provides an interface between each
programming language & Selenium RC Server.
Selenium Core
2. Selenium Server & Selenium Core:
JavaScript Commands
Selenium RC Server interprets Selenium Commands Collection of Requests
It launches & kills the browser
It injects Selenium-Core into browser
It also passes the Selenium commands to the browser using Selenium-Core JavaScript
command.
Selenium-Core is a JavaScript programs. It is set of JavaScript functions which interprets &
executes Selenese commands using the browser’s built-in JavaScript interpreter
RC Server communicates using HTTP, so any programming language can be used for
automation using Selenium RC.
38
8/3/23
Selenium RC Components
application.
Selenium can automate any web application regardless of the technology it is
built in
The Application
Note that Selenium can not automate desktop applications, to automate Under Test
39
8/3/23
How Selenium Remote Works
1. Test runner where you run your C# or
Java test cases with the .NET or Java
Selenium Remote Control Driver
Component installed
2. Test machine where the browser used for
testing is installed and the Selenium
Remote Control Server Component is
running
3. Application server where the web
application that you want to test is
running
40
8/3/23
Installation of Selenium RC
1. Download JDK 1.6 & above & set path & required variables.
2. Selenium has a set of libraries available in the programming language of your choice. You could download them from the downloads page.
https://selenium-release.storage.googleapis.com/index.html?path=2.42/
3. Once you’ve chosen a language to work with, you simply need to:
Install the Selenium RC Server.
Set up a programming project using a language specific client driver.
3. Installing Selenium Server
The Selenium RC server is simply a Java jar file (selenium-server-standalone-.jar), which doesn’t require any special installation. Just
downloading the zip file and extracting the server in the desired directory is sufficient.
Before starting any tests you must start the server. Go to the directory where Selenium RC’s server is located and run the following from a
command-line console.
java -jar selenium-server-standalone-<version-number>.jar
This can be simplified by creating a batch or shell executable file (.bat on Windows and .sh on Linux) containing the command above. Then
make a shortcut to that executable on your desktop and simply double-click the icon to start the server.
For the server to run you’ll need Java installed and the PATH environment variable correctly configured to run it from the console. You can check
that you have Java correctly installed by running the following on a console.
41
8/3/23
PROS & CONS of Selenium RC
42
Quiz on Session 24 8/3/23
1. The Selenium RC is used______ 2. Select the language which is NOT supported by the Selenium RC
a) To run your test against different browsers (except HtmlUnit) on different a) C#
operating systems.
b) ASP
b) To create tests with little or no prior knowledge in programming.
c) To test a web application against Firefox only. c) PHP
d) To run a huge test suite, that can be executed on multiple machines. d) Java
a) To run your test against different browsers (except HtmlUnit) on
b) ASP
different operating systems.
3. Where is Xpath used in ____ 4. Selenium-Core is a set of ________________ functions which interprets & executes
Selenese commands using the browser’s built-in JavaScript interpreter
a) XML Documents
a) Java
b) MS-Word Documents b) JavaScript
c) MS-Excel Documents c) C++
d) none of these
d) MS-PowerPoint Documents
a) XML Document b) JavaScript
43
Session 25: Selenium WebDriver & Grid
Contents:
1. What is Selenium WebDriver
2. Features of Selenium WebDriver
3. Selenium WebDriver Architecture
4. Procs & Cons of Selenium WebDriver
5. What is Selenium Grid
6. Selenium Grid Architecture
44
8/3/23
What is Selenium WebDriver?
It is also called Selenium 2 & is the successor to Selenium RC.
The WebDriver proves itself to be better than both Selenium IDE and Selenium RC in many aspects.
It implements a more modern and stable approach in automating the browser's actions.
WebDriver, unlike Selenium RC, does not rely on JavaScript for Automation.
Makes direct calls to the browser using each browser’s native support for automation.
The supported languages are the same as those in Selenium RC: Java, C#, PHP, Python, Perl, Ruby.
Main Goal is to supply well-designed Object-Oriented API that provides improved support for modern advanced
45
8/3/23
Similarities between Selenium RC & WebDriver
46
8/3/23
Features of Selenium WebDriver
Handling of
Multi-Browser Multiple Language Speed and
Dynamic Web
Compatibility Support Performance
Elements
Mouse Cursor and
Easy to Identify and Open Source and
Keyboard Community Support
use web elements Portable
Simulation
WebDriver-
No server Supports Multiple Cross-Device
Methods and
installation required Frameworks Testing
Classes
47
8/3/23
Selenium WebDriver Architecture
which are:
1. Selenium Client Library
2. JSON Wire Protocol Over HTTP
Client
3. Browser Drivers
4. Browsers
48
8/3/23
Internal Working of Selenium WebDriver
In real time, you write a code in your UI (say Eclipse IDE)
50
Comparison between Selenium RC & WebDriver 8/3/23
No. Selenium RC Selenium WebDriver
1 Selenium RC is a Weak API WebDriver is a Strong API
2 Management of excessive test suites is a problem Management of excessive test suites is a cakewalk
3 No support for third-party API and software Supports third party API and Software
4 Need to start RC Server No need to start any server
5 Uses command line prompt No usage of command-line prompt
6 Bad report generation Can generate the technical and managerial report
7 Cannot run Selenium WebDriver script Can run Selenium RC scripts
8 Misfires RC server most of the times No server, no miss-firing
9 Command specific usage No command used
10 Complex Architecture Simple Architecture
11 Selenium RC is slower since it uses a Javascript program Selenium WebDriver is faster because it interacts
called SeleniumCore directly with the browser
12 No supports HTMLUnit browser Support for HTMLUnit browser
13 Acts as a middleman between browser and user WebDriver directly interacts with the user
51
Difference between Selenium IDE, RC and WebDriver 8/3/23
No. Selenium IDE Selenium RC Selenium WebDriver
1 only works in Mozilla browser and It supports with all browsers like Firefox, It supports with all browsers like Firefox,
Google Chrome. IE, Chrome, Safari, Opera etc. IE, Chrome, Safari, Opera etc.
2 It supports Record and playback It doesn’t supports Record and playback It doesn’t supports Record and playback
Automation is a critical component of agile testing. The significance of automating test cases lies in
3 Doesn’t required to start server before
the fact that the count of test cases Required to start server before executing Doesn’t required to start server before
at the system testing level will keep on increasing after each sprint
executing the test script. the test script. executing the test script.
4 whenever
It is a GUI a new functionality is going
Plug-in It isto get addedjava
standalone andprogram
then the old code
which allowneeds to becore
It actual regressed to has binding in a
API which
authenticate them. you to run Html test suites. range of languages.
5 Core engine
Due toistime
Javascript based Core engine is Javascript based
constraints, it is important to know what should be automated in Interacts natively with browser
best possible way to
application
6 get good
Very simple returns
to use as it isfrom automation.
record & It is easy and small API As compared to RC, it is bit complex and
playback. large API.
7 It is not object oriented API’s are less Object oriented API’s are entirely Object oriented
8 It doesn’t supports of moving mouse It doesn’t supports of moving mouse It supports of moving mouse cursors.
cursors. cursors.
9 Need to append full xpath with ‘xpath=\\’ Need to append full xpath with ‘xpath=\\’ No need to append full xpath with
syntax syntax ‘xpath=\\’ syntax
10 It does not supports listeners It does not supports listeners It supports the implementation of listeners
11 It does not support to test iphone/Android It does not support to test iphone/Android It support to test iphone/Android
applications applications applications
52
8/3/23
What is Selenium Grid?
Why & When To Use Selenium Grid?
Testers should use Selenium Grid in the following circumstances:
1. To run tests on multiple browsers and their versions, different devices, and operating
systems
2. To reduce the time that a test suite takes to complete a test
Selenium Grid is a part of the Selenium Suite that specializes in running multiple
tests across different browsers, operating systems, and machines in parallel.
It is achieved by routing the commands of remote browser instances where a server
acts as a hub. A user needs to configure the remote server in order to execute the tests.
Selenium Grid is capable of coordinating WebDriver tests/RC tests which can run
simultaneously on multiple web browsers or can be initiated on different OS or even
hosted on different machines.
53
8/3/23
What is Selenium Grid? Continued….
Selenium Grid has 2 versions - the older Grid 1 and the newer Grid 2:
No. Selenium Grid1 Selenium Grid2
1 You need to install Apache Ant Apache Ant installation is not required in Grid 2
54
8/3/23
Selenium Grid
The two major components of Selenium Grid are:
1. Hub is a server that accepts the access requests
from the WebDriver client, routing the JSON test
commands to the remote drives on nodes. It takes
instructions from the client and executes them
remotely on the various nodes in parallel
2. Node is a remote device that consists of a native
OS and a remote WebDriver. It receives requests
from the hub in the form of JSON test commands
and executes them using WebDriver
55
8/3/23
Pros & Cons of Selenium WebDriver
56
Quiz on Session 18 8/3/23
1. The ____________ is the central point where you load your tests in the Grid setup. 2. Main Goal is to supply well-designed Object-Oriented API
a) Node that provides improved support for modern advanced web-
b) hub
c) Browser
app testing problems
d) Both a & b a) True
b) False
3. Selenium Webdriver does rely on JavaScript for Automation 4. Which Selenium component support all Operating System?
a) True a) Selenium Generator
b) Selenium IDE
b) False
c) Selenium WebDriver
Contents:
1. Test Design Considerations
2. Other Automation Tools for Software Testing
58
8/3/23
Test Design Considerations
• Supports
Testing Links
Ajax Tests
Testing Static Contents
Function Tests
• Content test, • Frequent • specific • Dynamicall
is a simple source of function y generated dynamically
changing
test for the errors for within your values that user
existence of web-sites application vary each interface
a static, • Broken • involve instance of elements
non- links or multiple the page • Only some
changing, missing pages with a portion of
the screen
UI element pages form based has been
• You may or behind links input page update at
may not particular
need content time slice.
tests.
Validating Results
• Assert vs Verify.
• This can fail if either the HTML element
(tag) OR the text is not what your test is
expecting
Location Strategies
• Choosing a Location Strategy
• Locating Dynamic Elements
• Locating AJAX Elements
62
8/3/23
Automation Tools for Software Testing Continued…
3. HP UFT (aka QTP) 4. TestComplete
HP Quickest Professional was renamed to HPE Unified Functional Testing. Top automation testing tool for desktop, mobile and web applications.
HPE Unified Functional Test is leading cross-platform automation testing With TestComplete, you can build and run functional UI tests.
With support for a wide range of applications, such as .Net, and
tool.
native and hybrid iOS and Android apps, along with regression,
It can automate Web, Desktop, SAP, Delphi, Net, ActiveX, Flex, Java, Oracle,
parallel, and cross-browser testing capabilities, you can scale your
Mobile, PeopleSoft, PowerBuilder, Siebel, Stingray, Visual Basic amongst tests across 1500 +real test environments for complete coverage and
other applications. improved software quality using TestComplete.
QTP Features: TestComplete Features:
1. The tool is tightly integrated with HP ALM (Test Management Tool) and HP 1. Automate tests across desktop, mobile, and web applications.
LoadRunner (Performance Testing Tool) 2. Robust record & replay capabilities
2. Unique smart object recognition. 3. Test visualizer
3. Error handling mechanism 4. Support for custom controls
4. Creation of parameters for objects, checkpoints, & data-driven tables. 5. Custom keyword test operations
5. Automated documentation. 6. Scripting Language Support-JavaScript, Python, and many more.
63
8/3/23
Automation Tools for Software Testing Continued…
5. Ranorex 6. Sahi Pro
Over 14,000 users worldwide accelerate testing with Ranorex Studio, Sahi Pro is a suite of mature, business-ready tools for automated
an all-in-one tool for test automation. testing of Web, Webservices, Mobile, Windows Desktop, SAP GUI and
Easy for beginners with codeless click-and-go interface, but powerful Java applications.
for automation experts with a full IDE for C# / VB.NET, & open APIs. For testing teams which need rapid and reliable automation, Sahi Pro
Integrates with leading solutions like Git, TFS, Jenkins, Bamboo, would be the best choice among automation tools.
Bugzilla, SpecFlow, TestRail & more for a complete testing toolchain. Sahi Pro Features:
Ranorex Features: 1. Sahi saves time and effort with faster development, less
1. Functional UI and end-to-end testing on desktop, web, and mobile maintenance and fast distributed playback.
2. Cross-browser testing 2. Perform cross-browser testing.
3. SAP, ERP, Delphi and legacy applications. 3. Supports ExtJS, ZK, Dojo, YUI, etc frameworks.
4. iOS and Android 4. Record & playback on browser testing.
5. Run tests locally or remotely, in parallel or distribute on a Selenium 5. Easily scriptable via Javascript or Java.
Grid 6. Simple, yet powerful and robust object identification APIs
6. Robust reporting. 7. Batch Playback via Data Driven Suites
64
8/3/23
Automation Tools for Software Testing Continued…
7. Watir 8. Tosca Testsuite
Watir (pronounced as water) is an abbreviation for Web Application TOSCA stands for Topology and Orchestration Specification for Cloud
Testing in Ruby. Applications.
Light-weight open-source tool for automating web application testing. Tosca Testsuite by Tricentis is an automated functional testing tool for
The best part of the tool is that it supports your web application performing functional testing and regression testing.
regardless of considering which technology your app is designed. It is a licensed tool but offers a free trial as well.
There are many big companies that use Watir including SAP, Oracle, Tosca testsuite Features:
Facebook, etc. 1. supports its users in creating efficient test cases on a
Watir Features: methodologically sound basis,
1. you can come up with simple, flexible, readable and easily 2. Serves as an executive assistant and summarizes the test results in
maintainable automated tests. various reports.
2. connect with the database, read flat files, excel – important for 3. Test data provisioning
data-driven testing 4. Service virtualization network
3. Integrates with BDD tools like RSpec, Cucumber, etc. 5. Tests mobile apps
4. Tests any language-based web application. 6. Integration management
65
8/3/23
Automation Tools for Software Testing Continued…
9. Telerik TestStudio 10. WaitN
Offers one solution to automate desktop, web & mobile application WaitN is an open-source, C#-developed web application testing tool
including UI, load & performance testing. that was inspired by Watir.
It supports automating applications like HTML5, Angular, AJAX, WaitN supports web application testing for .NET programming
JavaScript, Silverlight, WPF, MVC, Ruby and PHP, iOS, Android. languages.
Telerik TestStudio Features: Watin is an open source test automation framework that aids in UI
1. Point-and-click test recorder, support for real coding languages like and functional web app testing.
C# and VB.NET, central object repository and continuous It is licensed under Apache 2.0.
integration with source control. It takes care of popular popup dialogue box: alert, confirm, login, etc.
2. Provides cross-browser support and is a record and playback tool WaitN Features:
3. connect with source control systems like Team Foundation Server 1. Support HTML & AJAX website testing
and GIT and execute Continuous Testing. 2. Integration with unit testing tools
4. Allows you to schedule tests, execute testing in parallel and has 3. Automate browser testing on IE & Firefox
robust test reporting. 4. Generates web page screenshots
5. Integration with Visual Basic Studio 2010 onwards. 5. Native support for Page & Control model.
66
8/3/23
Automation Tools for Software Testing Continued…
11. Cucumber 12. LambdaTest
Cucumber is an open-source tool that is designed over the concept of LambdaTest is one of the leading cloud based cross browser testing
BDD (Behavior-driven development). platform which empowers users to perform automated compatibility
It is used to perform the automated acceptance testing by running the testing of their website or web applications on a combination of 2000+
examples that best describe the behavior of the application. real browsers & OS.
Cucumber supports only the web environment. Test code is written in With LambdaTest you can reduce your testing time by half by
simple English called Gherkin. Cucumber code can be executed on performing tests in parallel
different frameworks like Selenium, Ruby, etc. LambdaTest Features:
Cucumber Features: 1. Automated Cross Browser Testing on 2000+ real Browsers & OS
1. Cucumber is scripted in Ruby. However, it now supports a few 2. One click bug logging with tools like JIRA, Asana, Github, Slack,
other languages as well such as Java and .NET. Monday.com etc.
2. It also has cross-platform OS support. 3. Integration with various CI/CD tools like Circle CI, Jenkins, Travis
3. Allows the test script to be written without knowledge of any code. CI etc.
4. Due to simple test script architecture, Cucumber provides code 4. Live interactive testing through VM hosted on LambdaTest cloud.
reusability. 5. Automated screenshot testing on 25 combinations at a time
67
Quiz on Session 26 8/3/23
1. ______________ is a simple test for the existence of a static, non-changing, UI element 2. _________ is one of the leading cloud based cross browser testing platform
a) Content test a) Watir
b) Load test b) LambdaTest
c) Regression test c) Cucumber
d) None of these d) Sahi Pro
3. TestingWhiz supports keyword-driven, data-driven testing 4. ____ not support Database Testing.
& distributed testing a) Selenium
b) ALM
a) True
c) UFT
b) False d) RFT
a) True b) ALM
68
8/3/23
Conclusion & References
Conclusion:
Selenium testing tool has both advantages and shortcomings in comparison to other automation testing tools. But, Selenium overshadows other testing
tools in areas of –
1. Cost – Selenium comes at free of cost as it is an open-source testing tool.
2. Parallel Testing – Tester can execute test scripts on multiple machines simultaneously.
3. Flexibility – Selenium supports test scripts in multiple languages, execution on multiple browsers and operating systems.
On the conclusion note, the above three major features of Selenium and its different components made Selenium as one of the best automation testing tool.
We have a number of Automation Testing Tools available which aim at different types of testing. Some of these tools are open-source while some are licensed.
Yes, the choice of the tool will always depend upon your requirements but we hope that the above list of test automation tools will surely help you while
making the selection.
Text Book:
1. Krishna Rungta, “Learn Selenium in 1 Day Definitive Guide to Learn Selenium for Beginners”, Guru99 publication
Web References:
1. https://www.selenium.dev/documentation/en/
2. https://www.javatpoint.com/selenium-tutorial
3. https://www.guru99.com/automated-testing-tools.html
4. https://www.softwaretestinghelp.com/top-20-automation-testing-tools/
69
8/3/23
Question Bank
1. What is Selenium? What are the different selenium components?
2. What are the limitations of Selenium?
3. Why one should select selenium as a test tool?
4. Describe selenium web driver architecture with the help of neat diagram.
5. What is selenium? What are the different features of it?
6. Enlist & explain the components of selenium tool.
7. List automation tools for software testing. Describe QTP in details.
8. What is selenium grid? What is the purpose of selenium grid?
9. What is selenium RC? Explain its features.
10. What are the various Test Design Considerations?
11. Explain Selenium Grid Architecture with the help of neat diagram.
12. Differentiate between Selenium WebDriver & Selenium RC.
70
8/3/23