Introduction
To
Selenium
1
Table of Contents
1. What is Selenium?
2. Selenium Components
3. Who developed Selenium?
4. Selenium IDE
❑ Benefits of Selenium IDE
❑ Drawbacks of Selenium IDE
5. Selenium RC
6. Selenium WebDriver
❑ Selenium WebDriver Architecture
2
7. Selenium Grid
❑ Features
❑ When to use Selenium Grid
8. 8 Platforms supported by Selenium
❑ Operating Systems
❑ Browsers
❑ Programming Languages
❑ Testing Frameworks
9. Advantages of Selenium
[Link] of Selenium
[Link] of Selenium over QTP
3
What is Selenium?
SELENIUM is a free (open-source) automated testing
framework used to validate web applications across different
browsers and platforms. You can use multiple programming
languages like Java, C#, Python etc. to create Selenium Test
Scripts. Testing done using the Selenium tool is usually
referred to as Selenium Testing.
❑ Selenium Integrated Development Environment (IDE)
❑ Selenium Remote Control (RC)
❑ WebDriver
❑ Selenium Grid
4
Selenium Components
Selenium is not just a single tool but is a combination of different suites of
software. Selenium has four components.
01 Selenium IDE (Integrated Development
Environment)
02 Selenium RC (Remote Control) – deprecated
now
03 Selenium WebDriver
04 Selenium Grid
5
6
Who developed Selenium?
Since Selenium is a collection of different tools, it had different developers
as well. Below are the key persons who made notable contributions to the
Selenium Project
Primarily, Selenium was created by Jason Huggins in 2004.
7
An engineer at ThoughtWorks, he was working on a web
application that required frequent testing. Having realized
that the repetitious Manual Testing of their application
was becoming more and more inefficient, he created a
JavaScript program that would automatically control the
browser's actions. He named this program as the
"JavaScriptTestRunner“.
Seeing potential in this idea to help automate other web
applications, he made JavaScriptRunner open-source
which was later re-named as Selenium Core.
8
Selenium IDE
Selenium Integrated Development Environment (IDE) is the
simplest framework in the Selenium suite. It is a browser
plugin to record and playback the operations performed on
the browser. Selenium IDE plugins are available for Chrome
and Firefox browsers. It doesn’t support the programming
features. Selenese is the language which is used to write
test scripts in Selenium IDE.
9
Benefits of Selenium IDE
It is used to
Has built- No create and
Very use
in test programming execute Test
to use
results experience is cases using
and
reporting required Firefox or
install
module Chrome
browsers
The user
The user The user
can easily
can edit can create
record the
the Test Test Suites.
Test
scripts
scripts
10
Drawbacks of Selenium IDE:
It doesn’t
It doesn’t support error
support iteration handling
statements
Available only
No support for in Firefox and
conditional Chrome
statements Drawbacks
It doesn’t generate
It does not a detailed Test
support Reports summary.
Database testing
11
Selenium RC
Selenium RC is a testing tool used for web applications
testing. It supports programming using RC. Using RC, we
can test out applications in multiple browsers and also in
multiple operating systems.
12
Selenium RC
Selenium RC has complex architecture hence slow in
automation test execution. In Selenium RC, we need to
launch a separate application called Selenium RC Server
before we can start testing. Selenium RC server acts as a
middleman between selenium commands and your browser.
Selenium RC has been officially deprecated, you should use
WebDriver or IDE to test your web applications.
13
Selenium RC
14
Selenium RC
15
Selenium WebDriver
Selenium WebDriver is a web application testing tool
introduced by eliminating the drawbacks of IDE and
RC. It is simple in architecture and also easy to
understand and use.
16
Selenium WebDriver Architecture
17
Selenium WebDriver Architecture
1. It is a well-designed object-oriented API developed to automate
web and mobile software applications testing process
2. It is faster than Selenium RC
3. Selenium WebDriver directly talks to the browser
4. It’s API is more concise than Selenium RC
18
Selenium WebDriver Architecture
5. It cannot readily support new browser, but RC can
6. It doesn’t have a built-in command for automatic generation of
test results
7. It doesn’t support window base apps
8. It needs outside support for report generation activity like
dependence on TestNG or Jenkins.
19
Selenium WebDriver Architecture
20
Selenium Grid
Selenium Grid is used to run Automation tests on multiple
browsers across multiple operating systems, machines
simultaneously. It supports Parallel Testing. It is used only
for Test Execution.
21
Features
Allows simultaneous running of tests
in various web browsers, environmen
01 ts and machines.
Saves time enormously.
02
It speeds up the test suite completion
time as it is capable of running variou
03 s tests in parallel.
04
Perform cross browser testing.
22
When to use Selenium Grid
You should use Selenium Grid when you want to do either one or both
of the following:
When you run your tests against various browsers, operating systems,
and machines all at the same time. This will ensure that the application
you are testing is fully compatible with a wide range of browser
operating system combinations.
Save execution time of your test suites. If you set up Selenium Grid to
run, say, 5 tests at a time, then you would be able to finish the whole
suite around 5 times faster.
23
Platforms supported by Selenium
Selenium works with different Operating systems, browsers,
programming languages and Testing Frameworks.
Operating Systems:
❑ Microsoft Windows
❑ Macintosh
❑ Linux
Browsers:
❑ Mozilla Firefox
❑ Google Chrome
❑ Internet Explorer
❑ Safari
❑ Opera etc.
24
Programming Languages Testing Frameworks
❑ Java ❑ C#.Net – NUnit
❑ C#.Net ❑ Java – JUnit or TestNG
❑ Perl ❑ Python – unittest, pyunit
❑ Python ❑ PHP – Behat + mink
❑ Ruby
❑ PHP
25
Advantages of Selenium
It is an Open Source Software, you
1 2
It supports multiple Programming
can check out its source code from languages
its GitHub Repository.
3 It supports multiple Operating
systems 4 It supports multiple browsers
5 It supports parallel testing.
26
Disadvantages of Selenium
It supports only web based
1 applications and does not support
windows based applications
2 It is difficult to test Image related
applications
3 It does not support built-in Report
facility 4 It is difficult to use
5 Newly added features may not
work properly 6 It does not support to test
Captcha and Barcode readers
Tester should have high
7 No ready vendor technical support
available from anybody 8 programming language knowledge
to write Selenium Automation Test
Scripts.
27
Advantages of Selenium over QTP
Selenium QTP
Open source, free to use, and free of Commercial.
charge.
Highly extensible Limited add-ons
Can run tests across different browsers Can only run tests in Firefox, Internet
Explorer and Chrome
Supports various operating systems Can only be used in Windows
Supports mobile devices QTP Supports Mobile app test automation (iOS
& Android) using HP solution called - HP
Mobile Center
Can execute tests while the browser is Needs to have the application under test to be
minimized visible on the desktop
Can execute tests in parallel. Can only execute in parallel but using Quality
Center which is again a paid product.
28