Hello all attendees this is Siddhant from
Edureka and I welcome you all to
today's learning journey on an automated
testing tool called Selenium now if you
are IT aspirant this video is for you if
you look into switched from manual to
automation testing well this video is
definitely for you in fact learning
selenium can very well be your entry
point to the software industry so by the
end of today's session I'm going to make
sure that you guys are equipped to run
your first selenium test case but before
we begin let me quickly curse you all
through today's training session so
first I'll be talking about why you
should be using selenium then I will
tell you what selenium is then I'll
introduce you to the versions it has had
and the suite of tools that it offers
then I will show you how to set selenium
up and finally we will be going hands-on
in selenium and running our first test
case so without any further ado let's
get started so the first thing that I'd
like you people to understand is why go
with selenium as your tool for testing
now starting with the most obvious
reason selenium is an automated testing
tool now when I say automated testing
tool I'm fundamentally referring to the
software tools that can enable
automation or automate the process of
testing an application unlike the manual
testing tools where every possibility of
input output and interaction with the
application has to be recorded reported
and compared manually so just like it
sounds manual testing can be a really
tedious task it'll need you to expend a
lot of energy and time especially in
today's world where every application or
website has innumerable lines of code
and mundane amounts of data behind them
but with automated tools all that hassle
can just become automatic now how many
of you remember the rudimentary handheld
fans that we use back in the day so it
was basically this flat surface that had
to be waved back and forth continuously
for us to feel cooler on hotter days
well we've come a long way since then
haven't we all takes now is the flick of
a switch or just pressing a button for
our air conditioners to kick in and make
it cold for us anyways I was just trying
to tell you how we have been moving from
manual to automatic ever since
so somebody seems to have a question
Mahesh wants me to tell you if selenium
is the only automated testing tool that
there is well know Mahesh you're right
it isn't
so why should you use selenium then well
to answer that question we'll have to go
meet others that are like selenium so
qtp are ft and testcomplete are also
automated testing tools and are the very
best based on industry standards so Qt P
stands for quick test professional and
RF T stands for rational functional
tester so I've gone ahead and I've put
them all into a table so that it's easy
for us to compare now the first feature
we're looking at is license qtp requires
you to be licensed by HP similarly our
ft by IBM and testcomplete by smart bear
software but selenium is an open-source
tool and does not require a license to
be used
now these license products can be pretty
expensive for just a single person to
buy but open-source products can be used
by just about anybody for free now
talking of customer support the license
products will never let you down
selenium however does not really have a
rigid support for customers but depends
entirely on an open source community
with lots of insanely active developers
on it now coming to the programming
skills UTP and rft does not require you
to be much of a coder there's complete
we'll need some coding skills though and
in case of selenium you will get to
explore and flaunt all your coding
skills moving on QT p and r ft work only
on Windows and has complete limits
itself to only Windows 7 or higher
versions of Windows but selenium on the
other hand works good on almost any
operating system now the final feature
we're looking at is language support
we're in QT p supports only vbscript rft
supports Java and c-sharp has complete
supports vbscript jscript Delfy script
c++ and c sharp where as selenium gives
you a dynamic range of support for
almost all popular programming languages
like Java c-sharp Ruby Python Perl and
PHP now all that being said I take it
that you folks now have a better
understanding so as to why selenium is a
technology that has been trending among
its peers
so apart from beating the challenges of
manual testing here's why selenium is
your best choice being open-source it is
available for free it does not really
matter what operating system you've been
using
also selenium will let you perform tests
on almost any web browser and let you
pick whichever programming language you
comfortable in writing your test cases
in so before we move on to define what
selenium is you should know that there
are several tools to test every other
type of applications but dynamic
occasions are best tested with selenium
and that those are the only kinds of
application that selenium is designed to
test now that brings us to our next
topic
let us finally establish a concrete
definition into what selenium is so
selenium is just an open-source tool
that can automate almost any web browser
and that is all there is to it so let us
go ahead and exemplify this definition
now here's a manual tester who's really
troubled with testing the overwhelming
web applications that make up most of us
Ibis paste today so he's really stressed
over the alarming number of test cases
he has to work upon every day so all
that stress at work makes him feel like
his head is always at the brink of an
explosion but don't worry I went ahead
and I told him what selenium could do so
let us see what he has to say now Wow
seems like he's pretty relaxed now huh
well what can I say I guess selenium can
do that to you
anyways let's take note of a few
important points before we move on to
our next topic so as I have already
mentioned selenium can only be used to
test web applications it is fast and
easy to use even with large sets of data
and as a guaranteed accuracy so with too
much data to handle humans can be prone
to mistakes but lucky for us selenium is
not human and now that we know what
selenium is let us also quickly go over
how web applications are tested
being able to automate any web browser
selenium directly run scripts in that
browser to simultaneously automate the
web application and test it so we'll be
running our first test case towards the
end of today's session so that you
people can relate to everything that we
are learning right now
let me now introduce you to the suite of
tools that selenium comprises and the
versions that have evolved over the
years now the latest release of selenium
is version 3.1 2.0 and these are the
components that selenium has offered
over the years the selenium IDE the
selenium grid selenium RC and the
selenium webdriver so let us look into
each of these and understand why they're
a part of selenium so initially selenium
RC was used to write test cases in
different programming languages and run
recorded scripts in any browser but RC
had a few drawbacks that led to its
deprecation like say RC had a complex
architecture which required everything
to be passed through a RC server making
it really slow now moving further we
also have the IDE which was previously
known as the selenium recorder it
provides an environment to execute test
cases record them and export the
programming code in different languages
and then we also have the selenium grid
that enables parallel and distributed
testing by executing test cases across
remote machines irrespective of whatever
operating system they might use now that
leaves us with the webdriver
let me simultaneously talk about the
evolution of selenium as we understand
what webdriver is so the first version
of selenium came with the selenium IDE
the selenium grid and the selenium RC a
little later a separate project called
webdriver was also getting popular as a
superior tool for browser automation and
by the time selenium launched its second
version
it had merged selenium RC with the
webdriver and decided to call it
selenium webdriver instead now this was
because webdriver
overcame all the shortcomings that
selenium RC had been posing for a while
in fact webdriver enabled the scope for
providing better functionalities with
selenium like with the advent of
webdriver selenium had no need for the
RC server to be the middleman anymore it
could now directly interact with the
browser to run tests making it faster
than ever it also removed all the
redundancies and confusing commands of
selenium RC and made sure that disabled
elements on any web page or web app stay
inaccessible so by the third version
selenium webdriver witnessed
improvements of all sorts and became the
flagship tool for selenium so it could
basically do everything that selenium RC
did but in a better way and with more
features
all right so now that we have seen the Y
and the watt of selenium we've also made
ourselves familiar with its version and
components let us now move to the how of
selenium as in how to set it off for use
so there are three important
prerequisites through using selenium
so first we'll be needing a way to write
out s scripts in which will be provided
by our programming language which in our
case will be Java then we'll need an
environment where those programming
codes make sense and can be executed
which will be provided by our IDE there
is Eclipse and finally we'll be needing
a framework which is essentially a set
of tools which will allow us to access
the proper resources to automate and
test the web applications and that is
provided by selenium so let's get
started on installing and setting these
up so the first step will be installing
Java and how can you do that you can
visit the link that's given under the
slide and download the latest release of
the Java platform so I'll anyways go
ahead and give you a demo of it let's
open a browser type in Java into it once
you've done that let's look for Java
standard edition
here is our standard edition so let's go
to s e downloads here we can see 10 to
be the latest release of Java go ahead
and download the JDK for it accept the
license agreement and download JDK for
your operating system once you've
downloaded the JDK you'll get a set of
file please go ahead and install it on
your system but we still have one more
step to do before we can use Java on our
system so once you're done with the
installation
the next process would be setting up
your environment variables to use JDK
with Eclipse so how can we do that it's
pretty simple you can go to my PC or
this PC and go to the properties the
system window opens you go to the
advanced system settings so once you've
clicked on advanced system settings
there'll be another window that pops up
with the name system properties find the
Advanced tab under it and go to
environment variables so once you've
done that the environment variables
window now pops up find the user
variable so go ahead and click on the
new button under the user variables once
you've done that there should be a
window that says edit user variable now
under that window go to the variable
name and set it as path and as for the
variable value you will have to find the
JDK folder that has been installed on
your system go into it and there must be
a folder called bin copy the location of
the folder and paste it as the variable
value for path so basically we'll need
the location of the bin folder in your
JDK folder so once you have done that go
ahead and click on OK and create another
new variable in the same fashion and
name it Java underscore home this time
and set the value of the variable as the
location of the JDK folder on your
system so once you've done that click on
OK and you're done setting up your
environment variables and you can use
JDK with eclipse so let's go ahead and
download eclipse first so you can visit
the link that's been given here or i'll
anyways be doing it let's go google and
click on the address bar type in eclipse
once we've done that we find the
official website
we can see the latest release of eclipse
to be oxygen go ahead and download it
from a page like this and once you've
done that you'll get a setup file please
go ahead and install that set of file on
your system so that is all you need to
do for eclipse so once a clip has been
installed the next step would be
downloading selenium Java files you can
visit the link here and you'll find a
window of this kind under which there
will be many versions of selenium go
ahead and select the version that you
want and download it I'll anyways be
doing it so that you people know which
files exactly to download let's go to
selenium this time once you've done that
go to the official website click on
downloads you can see the latest release
to be heard so you can go ahead and
download it or if you want to download
one of the previous releases click on
previous releases you'll find so many
versions here let's say we want to
download 3.9 now there's so many files
in the 3.9 folder but you don't have to
download all of them we'll just be
needing selenium server three point nine
point one dot zip and selenium server
standalone three point nine point one
dot jar so download both these file you
should get a zip folder and a jar file
let's then get back to the web page and
I'll encourage you to download a few
more things that will be requiring the
first is a driver for the internet
explorer downloaded according to your
specifications then come to third-party
drivers bindings and plugins install the
gecko driver from Mozilla Firefox and
the chrome driver for Google Chrome so
once you have done that you should get
three more zip files let me show you how
they should look after you've downloaded
them so these are the drivers that we
downloaded go ahead and extract them
similarly this should be the selenium
server zip file go ahead and extract it
once you've extracted the drivers they
should be in folders like this
containing the respective drivers
similarly the jar files the selenium
server standalone is a Java file that we
downloaded and we also extracted a few
more Java file like these and then there
are more Java files inside the lips
folder so we'll be needing all of these
let us go ahead to the slide so once
we've downloaded the jar files we'll
have to configure Eclipse for selenium
now how can we do that for that we'll
have to open eclipse first let's go
ahead and do that there we go
so first there'll be an eclipse launcher
they'll ask you to set a workspace it's
basically just a folder where all your
projects are going to be saved in so
click on launch once you have done a
fiying your workspace here we are
see what a slide says so it's telling us
to create a new Java project name it
then configure the build path for
Eclipse to recognize selenium right so
these are the steps we'll have to add
the jar files that we've downloaded and
click on apply and close
so let's go ahead and do that so the
first thing we'll be doing is creating a
new project that is a new Java project
and name it selenium project let's say
once we have done that let's go ahead
and click on finish so here is our
project under which we have a source
folder and the Java files so let us go
ahead and add the selenium files to it
we go to build path we configure Bell
path under the module path we can see
all the Java files so let's go to class
path and add the external jar files so
find the location of your Java files
then select them all open so I have no
jar files that I have to add a jar files
so there were two in this folder open
and there must be another one that is
the standalone one so let's go ahead and
add that too and finally when you're
done go ahead and click on apply and
close so once you've done that there
would be another folder called reference
libraries
so now you've configured eclipse to use
selenium in it so let's go to our next
slide now all right so that brings us to
our last section which is hands-on in
selenium so now that the prerequisites
have all been installed and selenium has
been configured for Eclipse IDE how
about we automate and test Gmail using
Google Chrome well okay so this is the
test script for it let me anyways go and
write it down so that we can run our
first test script what will we do we'll
go ahead and first create a package just
like Java goes so co dot ed u rayker dot
let's say selenium dot demo right so
let's click on finish go ahead and
create a class let's sell me my class
demo as well and I'll make sure this is
our main method in it and click on
finish
so here we have our class let's go ahead
and write the test case so while I write
the code
I'll also be walking you through it so
don't you worry if you don't understand
something we'll all be covering that so
now we have our Java files here and our
jar files for selenium here but what
about the drivers that we added so these
drivers are really important things they
are the ones that can instantiate your
browser which means drivers are
necessary if you want to automate your
web browsers so we'll have to type in a
command
so that our drivers are connected to our
program so the command for it is set
property under which we'll have to tell
the command about what driver we're
talking about first we're talking about
the web driver that is of Google Chrome
ok so once I've done that let me also go
ahead and tell the command where to find
it so I'll have to go and find my Google
Chrome driver which is chrome driver
copy the location for it so this is the
location of the folder that it is in but
we need the location of the file so
we'll be adding that so now that we have
done that let us add the name of the
file as well which is chrome driver and
what is the type of file it is it is an
exe file so that's it we've gone ahead
and we have successfully connected the
driver to our programs so let us go
ahead and create a reference variable
for the interface web driver so I'll
name my reference variable driver and
assign it an object of the class chrome
driver now these interfaces and classes
have been provided to us by the selenium
Java files that we added we just have to
import it to our program so I use a
constructor to initialize the reference
variable with an object so now you can
see an error here that's because we've
not imported our interface and our
classes so if you hover your mouse over
it you can see an option to import the
interface first and then let's go and
import the class as well we've imported
the class as well now so now let's use a
driver
to call some methods that will now let's
say open and website for me first
so what website do we want to open we
want to open Gmail so I'll have to type
in that dot gmail.com right so that is a
web page now once it has opened the web
page for me I'll ask it to maximize the
window that viewing my browser in we can
do that by the commands driver dot
manage dot window dot maximize okay so
let's use a driver and find a web
element now what is a web element well
any component anything on a web page
isn't web element okay so in this case
let's say this is the place holder where
I will want my email ID to be so this is
my web element so let me inspect it so
once I've done that I can see this web
element to have a few attributes here so
that is how we are going to find that
web element and send some text to it
which is in my case my email id
so find element once you've done that
we'll also have to tell it how to find
the element so we'll be using the ID
name to find the element which is
identifier ID so let's say by ID we'll
have to tell it the name of the ID as
well
and we just saw the name of the ID to be
identifier and I the right okay so once
you've done that we'll also have to tell
it what to do once it finds the web
element for us it'll send some text to
it which can be done by the command send
so what keys do we want to send it I
want to send an email IB let's say right
I've send an email id to it now once I
will entered my email id I will like to
click on the next button let's go and
inspect it all right so I can see the
class name to VCW ak9
so let me go ahead and find the element
by the class name
and the command would be by dot last
name and we'll have to give it the class
name as well which in our case was C W a
canine right let's Tarrant now we've
done that so what does it do once it
finds it it'll click on the button
great so let's tell it to click we've
done that so all of this should happen
automatically that's the entire purpose
of writing the script so now that I've
gone ahead and I have automated some of
my browser features how about I also
build a small test case so let's say I
declare a variable of the string type
and I name it a tea for my reference to
actual title and I ask my driver to get
me the title of the webpage that it
automatically opened so get title so
what should our title be actually I mean
since we opening Gmail the riedel should
be Gmail right so let me go ahead and
create another string variable name it
et for expected title and we expecting
it to be Gmail right so let me also go
ahead and close the browser that I've
opened with the driver door close
command now after that let me go ahead
and use the string variables to
establish a test condition so that can
be done best with the if statement so
let's say 80 dot equals I want to ignore
cases I just want the names to be same
so I'll tell it to ignore cases and
so if this happens if they match we'll
know that our test is successful
we print the same test
fool and if that does not happen we'd
know that something went wrong and our
test was unsuccessful
so let's print out the same print Ln and
what do we write we wanted to display
test failure right so we've successfully
built a test case so let me go ahead and
execute it
browser open automatically they're also
navigated to Gmail and turd my ID and
close the window what it happened really
fast so you people must not have seen
everything but it's a Staz successful
which means our titles also match but I
would still like to slow the automation
down so that you people can actually see
everything that happened so that is also
possible we can do it by thread dot
sleep let's say I'll ask it to sleep for
2,000 milliseconds
similarly I'll have one more sleep
command after if you've clicked on the
next button so this is not necessary I
mean normally testing would require you
to do it really fast so that in a matter
of second maybe a thousand cases can be
done or more but I'm doing this so that
you be built-in see everything that
happened okay thread requires us to
throw an exception so we read that let
me now go ahead and run it okay so my
browser is open and I have Gmail
my ID typed in with the screen got
maximized I'm in the window and that's
it we also closed the browser and it
says test was successful so
congratulations we just ran our first
selenium test case let us go back to the
slide so this was the code that we just
ran and our test who is a success so
that brings us to the end of our session
let us finally go over the session in a
minute first we discussed why you should
be using selenium because it is free
open-source works on any operating
system any web browser and lets you code
in multiple programming languages then
we saw what selenium is we defined it it
is just an open source tool that can
automate almost any browser then we went
over the versions it has and the suite
of tools and offers and we also saw how
to set selenium up the three
prerequisites for it and we finally ran
a test case in selenium so that's it for
today
thank you so much and happy learning I
hope you have enjoyed listening to this
video please be kind enough to like it
and you can comment any of your doubts
and queries and we will reply them at
the earliest do look out for more videos
in our playlist and subscribe to any
Rekha channel to learn more happy
learning
