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
10.Disadvantages of Selenium
11.Advantages of Selenium over 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 cases using
and
reporting is required Firefox or
install
module Chrome
browsers
The user
The user The user
can easily
can can create
record
edit Test Suites.
the Test
the Test
scripts
scripts
10
Drawbacks of Selenium IDE:
It doesn’t
It doesn’t support
support error
iteration handling
statements
Available only
No support in Firefox
for and Chrome
conditional Drawbacks
statements
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 slow in
hence
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
Feature
s
Allows simultaneous running of tests
in various web browsers, environmen
0 ts and machines.
1
Saves time enormously.
0
2
It speeds up the test suite completion
0 time as it is capable of running
variou s tests in parallel.
3
0
4 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 It supports multiple Programming
1 can check out its source code
from its GitHub Repository.
2 languages
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
2 It is difficult to test Image related
applications
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