all right so hi everyone welcome you all so
in the today's session mainly we will start with the introduction part like what is manual
testing and what is an automation testing and we'll see some basic things and then uh we'll
discuss something about uh selenium and after the session uh if you have any queries or you
can unmute and you can ask and meanwhile if you have any questions you can put everything in
the chat box immediately I'll try to answer them and uh at the end of the session uh I will show
you what are the things we are going to learn as part of this course and what are the things
you are going to get and how this training will help you or all those uh General things we will
talk and before that let us start so the inaction part and uh people came from different type of
background so some of have already experienced in manual testing and Automation and some of
them are completely new to this training and new to software testing so you guys don't need to
worry so I'll start from very basic basic and uh even though if you don't know manual testing
still you can understand the concepts and if you want to learn manual testing I can share
some of the videos and you can just go through them and can watch them you can understand manual
testing Concepts later okay parall you can learn them no problem so let us start today's session
and if you have any queries uh you can post in your chat box and at the end of the session I
can unmute and you guys can ask your questions and all all audios and uh videos everything is
muted so just to avoid the disturbances at the end of the session I will everything is unmuted
okay guys now let us start with introduction part so before going to automation testing so what
is software testing so people we already know something about software testing we already have
some experience you guys can tell what is software testing means so software testing is what is a
process of finding the bugs or finding the diff effects in a software so what is the main goal of
software testing main goal of software testing is to find or identify the bugs and also we need
to release the quality product to the customer so that's the main intention of Performing the
software testing right so software testing is a process of finding defects in a software and
the main goal of software testing is we have to release a quality product to the customer or
client that's the main objective or goal of the software testing right but why in which way we can
test the software different ways are there so we can do manual testing or we can do automation
testing right so what is difference so what is manual testing and what is an automation testing
so manual testing means we don't use any tools we can simply test the software manually so we don't
use any tools right so simply we can call it as a manual testing and uh if I use any automation
tools so so through automation tools by using automation tools if we perform any testing we can
call it as a automation testing right these are the only two approaches which which we have either
we can do manual testing or we can do automation testing right so if you want to do manual testing
we will perform the testing without using any tools so here the tester will perform the tools so
performing the testing without using any tools is known as a manual testing and here the tester or
person will do the testing we don't use any tools right but while performing manual testing we have
certain challenges so to overcome those challenges automation tools came into market so these are
only two approaches which we have either we can do manual testing or we can do automation testing
but why we need to go to automation testing so we have certain challenges okay so let us understand
what are those challenges while performing manual testing and then we will try to understand about
automation testing okay so while performing manual testing as I said manual testing is we can
simply test that application or test the software manually without using in tools but what are the
challenges in the manual testing so there are majorly two challenges I think people already
heard about this the first thing is retesting retesting is one challenge second is regression
testing have you heard about these STS retesting and regression testing so these are the most two
important type of testings we normally conduct during manual testing retesting and regression
testing retesting and regression testing so what is retesting retesting means again and again we
will conduct testing or we will do testing in reputation mode right everything we will do again
and again same test we will execute multiple times same kind of a test we will repeat multiple times
which is basically called as retesting retesting examples for example uh let us take a login test
let's say you have an application in that we have a login screen so you want to test the login
screen so to test the login screen only with the valid username and valid password is enough so we
need to also perform negative testing means what when you provide valid username and valid password
the login should be successful and if you provide invalid user invalid password login should not be
successful so that is not enough for testing right we need to test the same uh login screen with the
different type of inputs like valid username and valid password valid username and invalid password
invalid username and valid password blank username and blank password so different combinations
of data we have to use while performing the testing so what exactly we're doing there we are
executing the same test case or same step steps multiple times with the different sets of data
which is basically called as retesting executing the same test case again and again multiple times
in multiple Cycles so which is basically called as a retesting but what is the challenge while
performing retesting what is the challenge while performing retesting so we need to spend lot
of time and effort right so if you want to do the same task multiple times again and again it
takes some time and also we need to put lot of effort right in every cycle of execution we have
to put lot of effort so this is time consuming process and also we need to put lot of effort so
that is a major challenge while we perform the retesting he cannot skip this okay retesting we
have to do sometimes while performing the manual testing that's a major challenge second thing is
regression testing which is also most important so what is regression testing anybody know
about it what is regression testing regression testing am I audible everyone yes am I audible to everyone
okay so what is regression testing so retesting we have understood
so executing the same test case multiple times again and again we call it
as a retesting so what is the regression testing okay so regression testing I'll give you
simple example we can understand very very easily so in the real time so whenever you want to test
the software right what is the prerequisite for that we have to get it from the developer right
so what is the developer task what is a what is a developer task so what developer will do
developer is responsible for developing a software so for that what they will do is they
will write the code right they do some kind of a code or they do programming and through which
you can develop they can develop the software and once they develop some piece of software they
will provide that software we can call it as a product or we can call it as a build a piece of
software which contains some functionality and they will provide to QA or for tester so now what
is the responsibility of the test we have to test the software whether it is working according to
customer requirement or not right that's the main responsibility of the software tester as a tester
what is our role we have to test the software according to the customer requirement whether
it is working according to client requirement or not all functionalities are working fine or
not that's a major responsibility of the tester so developer will not provide all the features it
once single build okay they develop the software in bits and pieces let us say customer says
I have 10 features should be there in your software or an application developer they don't
develop all 10 features in one single build okay so they will develop one or two features in the
first build and they will provide to the testing and after that again they will develop another
two to three features and again another build provide to the testing so this will happen in
multiple Cycles and when you reach the last cycle of the testing then you will find all the
features available in the software so nothing will happen in one shot okay the developer will
develop the software they will add more number of features in multiple cycles of the testing
and the same time tester also will test those features in multiple cycles of the testing
okay this is basically called stlc software testing life cycle process so during the process
what happens is let me take a simple example so that you can understand let us say here I have
a development team and here another side I have a testing scene so developer is provided bill
number one to the testing team okay in the bill number one let us say I have executed let's say
10 test cases okay 10 test cases have executed in build number one I have 10 test cases to
totally I have planned for build number one so I have executed these 10 test cases in build
number one okay in cycle one and now in 10 test cases let us say eight test cases are got passed
only two test cases are got failed okay eight test cases are got passed in the first bill two test
cases are got failed now what we will do as a tester what we need to do we have to report the
box to the developer so these two just just a second okay I think now it is fine okay okay so now in the first cycle of
testing eight test cases already passed now let us say two test cases got failed
okay now as a tester what you will do you will report the bugs right so these two test
cases are got failed you will report them now the developer will provide you next build
let's say build number two so in the bill number two developer will Implement some of
new features okay some new features plus bug fixes some of new features and some bug fixes
so in the Bild number two you will get some new features as well as some bu fixes okay just
a moment guys I think something is wrong hold on right so in the build number two the developer
will add some more new features along with some bug bug fixes okay now as a tester what is our
responsibility what are the testings we do in the second bill so first priority will be given
to the bu fixes right so whatever the test cases are got failed in the previous build we reported
them now in the second build the developer fixed them now in the second Bill we have to test
whether these two test cases are passing or not and along with them we should also test
the dependent functionality what is dependent functionality means sometimes what happens is
developer will modify the code right so to fix these bugs they will modify the code so because
of that modification what will happen not only modifications sometimes the developer will add
some new features so because of those changes the existing functionality will be impacted
right if you developer changes something in the application definitely some existing code
will be impacted right so not only these two bu fixes along with them we should also verify some
dependent functionality or some impacted areas of the application so that is basically called
as a regression testing regression testing means what whatever bug fixes the developer is
provided we will verify those bugs are working fine or not apart from this we should also
verify the existing functionality we have to make sure the existing functionality should
not be broken Bren the existing functionality should not be broken because of changes done by
the developer that is called regression testing simple way we can understand like this okay
so the regression testing we have to do in every cycle because in every cycle some new
functionality will be added or some bug fixes will be added in every cycle in every build right
so definitely we have to perform the regression testing in every Bild and retesting is also part
of regression testing so whatever test cases are failed in the previous build again we have to
reverifying in the second build right this is part of retesting but because of this change
impacted areas also we need to cover as part of testing that is a part of regression testing so
now you understood what is the difference between retesting and regression testing retesting means
what executing the same set of test cases in the next cycle or in the next build that is called
retesting regression testing means what not only those retest cases we should also make sure
the other existing functionality should not be broken because of this change that means
impacted areas also we have to test that is called regression testing so these two type
of testing will be continued in every cycle of testing in every build which is provided by the
developer so these two testings are time consuming other thing is we need to put lot of effort
so these are the two major challenges we face while performing the manual testing especially
when you do retesting and when you do regression testing we Face challenges so to overcome these
two challenges automation tools will be used so automation tools will reduce a lot of time
and effort okay so this is all about manual testing so what is manual testing the testing the
software without using any tools we call it as a manual testing and uh while performing retesting
and regression testing we Face challenges means what we have to spend a lot of time because
there is a reputation and the same test cases we have to reexecute multiple times that needs
a lot of effort so retesting while performing retesting while performing regression testing we
Face challenges while performing manual testing so now let us understand why we need automation
testing so to overcome these two challenges we go for automation tools now what is an automation
testing automation testing means that performing testing by using tools right we use any tool it
can be any automation tool third party tool we perform testing which is called as automation
testing performing the testing with the help of tools known as automation testing tool is
nothing but what again it is a another type of software a tool is nothing but a software so
performing the testing with the help of tool or tools sometimes we can use one tool sometimes we
can use multiple tools so performing the testing with the help of automation tools is known as
automation testing is known as automation testing but how exactly automation tool Works how can we
overcome these two challenges by using automation tools so before understanding how we can overcome
these two challenges we need to know how exactly automation tools work so how exactly automation
tools work so let me just give you uh an example with that we can understand how exactly automation
tool works and also why we need programming so while using automation tool we have to know some
programming concept so why we need programming so that also we'll try to understand understand
okay so now let's see how exactly automation tool works if you do manual testing let's say
you have an application let's say this is your application under test so whatever application you
are going to test which is called AS application under test now you have a manual test case
so what is the test case what is a test case test case is nothing but a step by- step
action which we need to perform on the application right for example let us take a login so what
is the test case for login we need to launch our application then provide your valid username
password click on submit button then check the hom page is displayed or not so these are simple
steps which is called as a test case so test case is nothing but what step by step action which we
need to perform to test that application so while performing manual testing you have a test case
this is your test case now as a manual testing what is your job let's say you are manual tester
what is your job you have to read each and every step in your manual test case and you have to
execute that step in the application and you need to check expected and actual results are
same right suppose you are performing some step you're executing some step on the application and
what is your expected suppose you are opening your url of application on the browser so you need to
check the homepage is displaying or not so after providing valid username and valid password
clicking on submit then you have to check the home page is displayed now a login page after
successful login let's say the dashboard page is displayed or not so that is our expected so
what is the test case means test case contains a step by-step action which we have to perform
along with that we need to check expected and actual results are same or not so if you find any
mismatch between expected and actual you can find that as a bug and you can report to the developer
that is a process of testing manual testing part now come to the automation so in automation what
you will do is you have application under test whatever application you are going to test
which is called application under test you have a manual test case okay you have a manual
test case this is your manual test case now as an automation tester what you will do is you will
convert this manual test into test script this is your test script test script is nothing but an
automation format so whatever manual test case you have you have to convert the test case manual
steps English steps into automation format test script we call it as automation test script
okay and where you will write this automation test script who can understand this test script
automation tool can understand so whichever tool we are using automation testing tool we have to as
an automation tester we have to provide or we have to provide the instructions to the tool whatever
steps we have written in the manual test case same steps we have to provide to the automation tool
now tool can understand those steps and perform the actions on the application under test this
is the process how exactly automation tool works so as an automation tester we have to provide the
steps we have to provide instructions to the tool then tool can understand it and accordingly it
will perform the actions and find out expected and actual results are same or not but how tool
can understand our steps because normally in in the test case we will use English language and
while writing the test case but how the tool can understand the language so we have to provide the
instructions in particular language that the tool can understand so tool also can understand some
language if the tool understand Java language then we have to provide the steps in the Java
language we have to provide all instructions in Java if the tool can understand python then we
have to provide all instructions in Python if the tool can understand any other language we
have to suppose tool can understand JavaScript language then we have to provide all instructions
in JavaScript language so the tool can understand a particular language in whichever language
the tool can understand in the same language we have to provide all instructions to the tool
and then only the tool can understand and Tool will able to perform the actions automatically on
the application so there exactly the language come into picture so why programming language is most
important for automation because if you want to work with the automation tool you have to learn
a programming language if you know programming language effectively then you will able to
provide instructions to the tool so that you can use the automation tool very effectively so
that is the reason we have to learn programming first and then you have to learn how to use
a tool we cannot directly jump into the tool first we have to know the programming and once
you know the programming Concepts then you can you will know exactly how to use automation tool
okay so now how Auto aut testing or how automation tools will overcome these two challenges
retesting and regression we all discussed these two challenges retesting means what we can
execute the same test case multiple times which is retesting regression testing is nothing
but what in every cycle of testing we will reverifying fine that's called regression
testing but how can we overcome these two while using automation tool or automation testing so
automation tools mainly designed for to overcome these two challenges guys initial days automation
came into Market because of these two challenges only retesting and regression testing but later
on what happens is automation tools we are using for everything not only retesting and regression
test cases whatever the functionality we want to test everything we will test through automation
but initially the main purpose of automation tool is to perform the retesting and regression testing
okay now let us understand how can we overcome the challenges while performing retesting and request
testing using automation tool let us say you have one test case let's say take retest case you
have a test case let's say I have multiple steps in my test case I want to execute the same
steps multiple times with the different sets of data let's say have different sets of data 1 2 3
4 let's say I have 100 inputs on there sometimes if a test case is very complex you need to prepare
test data first okay now I want to repeat the same steps with the different sets of data same steps
I want to repeat so how can we do this through automation we will specify this test data in some
external file it can be notepad or in Excel file it can be PDF file or any some other external
files so we will maintain the data or it can be sometimes a database so we'll maintain the test
data in some Source third party applications and and we will write your automation script all
steps and this automation script this is our automation script will read each and every input
and perform actions it will read each and every input automatically and then the same step will
be repeated by the tool the tool will perform the actions so once you write your automation code
that is onetime job so the some next time onwards automation tool will automatically perform the job
by taking different type of inputs so if I want to do the same thing manually it takes a lot of time
right so I have 100 input if you have four to five inputs we will finish within 5 to 10 minutes but
if you have 100 inputs thousand inputs we want to repeat the same thing for multiple times it is
very very difficult task right so exactly here we use automation tools so once you write your
automation code and that will automatically take the input from the different sources and perform
the actions so lot of time and effort will be reduced but what about regression testing how can
we overcome regression testing challenge so as we discussed what is regression testing same set of
test cases we want to execute in multiple Cycles let's say in the first cycle let's say in first
cycle of testing you have executed 10 test cases and eight test cases are got passed let's say two
test cases are got failed okay 10 test cases eight test cases part two test cases got failed so in
the first cycle what you will do is whatever test cases are already passed you will automate them
okay they will automate those test cases in the cycle two what you will do these two test cases
whatever is got failed you will test them manually these two test cases you will execute manually
and because of do these two changes maybe the rest of the functional is impacted right so these
eight test cases again we have to execute why we need to execute these eight test cases they are
already passed in the cycle one right but why we need to execute them again because the changes
are happened in the second build the changes are happened so because of these changes what happens
the existing functionality may not work properly so again what we have to do these eight test cases
again you have to execute in the second cycle and because you already automated these eight test
cases in the first cycle itself in the second cycle you will execute these eight test cases
through automation because you already automated they are already passed in the earlier build so
they are already automated so in the next cycle you will run those eight test cases automation
tool by using automation tool in that way we can reduce the time and effort and in the second cycle
let's say these two test cases also passed then what you will do as soon as the test cases are got
passed you will also automate those test cases so like this in every cycle there are certain number
of test cases will be there for execution through automation so that will reduce lot of time and
effort so that's how we can overcome retesting and regression testing challenges while using
automation tools so now here we understood two important parts one is how exactly automation tool
works so as a automation tester we have to provide instructions to the tool how we can provide
instructions to the tool through the language language is a medium like if the tool understand
Java then we have to provide all instructions in Java language if the tool can understand
python then we have to provide all instructions in Python language so where exactly the language
programming language come into picture right and automation tool can understand those instructions
and accordingly it will perform the action on the application automatically so almost every
automation tool will work in the similar way the language may be different the internal
architecture may be different but the the way of working how we can understand the instructions
how the how actions to be perform the application is almost the same okay the language will be
different okay some tools will understand multiple languages and some tools will understand only one
or two languages it depends how automation tool is got designed if I look at s selum supports
multiple languages suppose if you know Java you can use selenium if you know python you can use
selenium or if you use if you know JavaScript you can still use selenium so like that so some tools
will understand multiple languages some tools will understand just one or two languages so understand
this so what is an automation testing automation testing is performing the testing with the help of
tools by taking help of automation tools we will perform the testing which is basically called
as automation testing so now we understood two important points how automation tool works and
why programming is required for automation I hope everybody is clear so far can you please confirm
in the chat window are you guys clear so far so we understood just basic stuff what is manual
testing what is an automation testing and what are the challenges we have in the manual testing
and how can we overcome them by using automation testing and why programming is most important to
learn automation testing tool without programming you can't understand the tool you can't work
with the tools so programming is must should not in-depth programming at least you have to know
how to write the test case okay so we will discuss later so this is the basic introduction part
we understood now let us talk something about selenium okay so we are going to learn selenium
so because we have to know some basic stuff about selenium so what is selenium so there are multiple
tools in the market to perform automation testing but why especially we have to learn selenium
what is selenium what are the advantages what it will support what it will not support okay and
we will try to understand this so what is selenium there are multiple definitions are there let me
just put all the definitions the first important thing selenium is basically web automation tool we
should not say selenium is a tool tool is nothing but what a single component which we can download
install and we can use it that is basically called as a tool right but in reality selum is not a tool
actually it's a collection of multiple components or it's a collection of multiple libraries but
generally we call it as a tool but reality as per the definition it is not a tool but even though
if you call it as a tool nothing wrong in this in the normal terminology so the first definition
of selum is it is a web based automation tool or we can say library so library is a right word
instead of using tool using library is a right terminology so selum is a webbased automation
tool or a library what does it mean why we are specifically saying web based automation tool
web based automation tool or Library means selum support only web based applications selenium
supports only web- based applications we can test only web based applications so do you
know what type of applications are there in the market guys can anyone tell me what are
the different types of applications types of applications in the market I'm talking about
types of applications yes different types of applications you have web based applications or
we can say web applications right web applications and second is what desktop applications desktop
applications and third thing is what nowadays it's more famous mobile applications or mobile
apps so mainly in the current market these are the three different type of applications which we
have web- based applications desktop applications and then mobile applications now let us understand
the difference what is web based application web based applications means we can access those
applications through browser right so actually those are resides in some servers remote
servers and we'll try to accessing those applications using browser so nowadays whatever
applications we are accessing through browser all are webbased applications e-commerce portals
banking applications right social applications linked in Facebook these are all comes under
web applications so through browser we are able to access those applications they are called Web
applications and what do the desktop applications means desktop applications those applications
we can just download and install on your local system and you can use it you don't need any
internet for them but if you want to use web application you need internet con you need to
connect to the internet then only you can work with the web applications through the web you
can access but desktop applications you can still use without having internet examples
can you give me some examples for desktop applications yes so whatever applications we are
using internally like msxl word PowerPoint notepad calculator right so these are all comes under
desktop applications so mostly will download those applications and we can install it on your
local system and you can try to use it you don't need internet for them right if you want to use
MSW document you don't need internet if you want to use notepad you don't need internet they're
all called desktop applications now the third type of applications are what mobile applications
so nowadays these applications are very famous you know already what is mobile applications we are
using Whatsapp LinkedIn all Twitter right in your mobile so through Play Store or through Apple
Store you're trying to install the application apps mobile apps right they all comes under mobile
apps mobile applications so these are the three types of applications currently which we have in
your Market web applications desktop applications and mobile applications right now when you come
to the selenium selenium support only web based applications it is designed only for web based
applications not for anything else so we cannot test desktop applications we cannot test mobile
applications we have to use some different tools for them but selim is only meant for what web
based web based applications so cim is a web based automation tool or library now we will try
to understand some more definitions selenium was originally developed by Jason Haggins in 2004 from
thoughtworks actually he is a this is the name of the developer Jason Haggins he's a developer
who was working in thought Works company during 2004 so in this particular time in the market uh
desktop applications were there in the market but web applications are newly coming into the market
so during that time internet is becoming popular so web applications started coming into the market
during those days okay so that time qtp was there qtp or UFT the tool was using people uh for both
web as well as desktop applications but now what they want to uh do is they want to develop uh a
software or a tool through which they wanted to test web application and that to open source mean
they don't want to buy anything external tools but they want to develop themselves a tool through
which they want to automate the web application so they have started implementation and that is
becomes a selenium later so selum is basically started by Jason haggis he is a developer who
was working in 2004 in thoughtworks company okay so he is a developer he started and after that
what happens there are so many other developers contributed their time and effort and uh they
make they made the Sim as a community based tool it is running by through community means what
community based tool means what there are multiple Developers for multiple companies they're spending
their time and effort and they have contributed and slowly they have added so many features into
selum then they make as a community based tool because it is running through Community run by
Community itself anybody can contribute if you have some basic knowledge if you you have if you
want to develop some new features in anybody can contribute it so this is totally open source
open source means what anybody can customize it and we can use it freely we don't need to buy
any license for that that's called open source okay so selm is started by Jason Huggins in 2004
from towork company and initially they have used that only in their companies and later on after
making that as a community based tool everybody started using it and during 2010 2011 those days
and those years it becomes very popular and it is open source as I told you what is open source
means anybody can customize the code anybody can add new features and uh it is totally free
of cost we don't have any license or we don't need to pay anything for [ __ ] just we need to
download the library do some configuration you can start using it total it is free and it is
a collection of multiple component as I said in the beginning Sim is not a single tool actually
it's a collection of multiple components which is having ID web driver and git in the initial
days we have also RC component remote control so collectively we call it as a selenium selenium
ID integrated development environment selenium web driver selum grid selenium RC remote control
instead of RC they have replaced with web driver so now RC is outdated now web driver is already
deprecated and uh web driver is replaced so ID web driver and grip so these three components
collectively we call it as a selenium but majorly we use web driver majorly we use web driver
for our automation okay so these are all basic introduction what is celum celum is a web based
automation tool or Library which is developed by Json hains in 2004 from thoughtworks and after
that they made it as a community based tool becomes open source and totally free of cost and
which contains a multiple components ID web driver G and majorly we use web driver selum if anybody
talking about selenium they are basically talking about selenium web driver and every component is
having their own usage ID for recording playback web driver is for automation grid is for execution
so every tool is having every component is having their own usage later we will discuss in detail
here I'm just giving very high level over you okay so this is all about what is selenium okay
so the question is why there was no development around desktop applications means supporting
both web and desktop okay so [ __ ] initial days their requirements totally different okay so
they wanted to just automate only web application that is their requirement in initial days so
that is the reason they have just concentrated only on the web based applications and the tool
which support only web- based applications and if you want to test any desktop applications
or mobile application there are some other tools are available in the market even there
are some tools which will support everything so if you want to test web as well as apas or
as well as mobile apps desktop apps then there are some tools are available in markets tools
are available in Market okay but why [ __ ] is meant for because those days they want to test
only web applications they don't have any type of supporter their goal is that actually
so accordingly they have concentrated so they have focused only on web applications
so for that they develop the selenium part so that's the reason SEL is only for web based
automation it doesn't support any other type of application okay fine so General things I
will talk at the end of the session first uh concentrate on this okay once the topic is
done then I will discuss the general things so now we understood what are the different type
of applications are there in the market and what type of applications the celum support only
web based applications celum supported and rest of the type of applications we use a different
tools for desktop applications we go for UFT or CQ or Auto for mobile applications we use appm
or some other tools okay but web applications we will prefer to use selenium okay so now let
us try to understand what it will support what it it will not support because every tool is
having their own advantages and disadvantages no tool is perfect in the market if you take
any tool definitely there are some advantages definitely there are some disadvantages also
there okay now when you come to selenium so let us first understand what are the advantages why we
need to uh learn selenium okay let us talk about advantages just a second open source tool and pre of cost so the
first advantage of selim is what open source tool and it is a free of cost so why people are started
learning and started using companies because it's a open source open source means what as I already
told you anybody can do modifications in the tool itself if you want to add some more features you
can just download selenium library and you can develop something and you can check in so that
particular change or that particular feature is available in the market for the users it is
available open source means what it is easily customizable and moreover it is free we don't
need to buy any license for that so that is the reason selum becomes popular in the market in the
initial days but uh later on there are many tools came into Market they are also open source and
freely available but initial days when you come to automation part automation testing part the open
source market is started from selenium okay so it is totally open source and free the second one
mainly it will support multiple operating systems multiple browsers and multiple languages these are
the three main features from selenium so that is the reason selenium become very popular in the
market it support multiple operating systems so normally if you take any tool it will support just
one or two operating systems but selenium support multiple operating systems what does it mean we
can install and we can use selenium or Windows or Mac or Linux or Unix whichever operating system
you have you can configure selenium and you can use use it so that is supporting multiple
operating support is there multiple operating systems it will support multiple browsers also it
is supported which is another main main important feature we should have especially web web based
automation tool okay so why it is support multiple browsers especially when you do web testing or web
application testing as part of our requirement we should execute our test cases on multiple browsers
so like Chrome browser we have Firefox browser we have edge browser Opera browser Safari browser
there are different browsers are there in the market so we have to execute our test in multiple
browsers why we need to test why we have to execute all our test in multiple browsers that
is basically called as a cross browser testing because we don't know exactly which browser the
client will use some of them like Chrome browser some of them like edge browser some of them will
like Firefox browser right so our application should work in multiple browsers in the similar
way right so sometimes what happens is when you open your application in different browsers you
will face some UI issues the same kind of elements will not be displayed on another browser so most
of the times graphical user interface issues you will get so to solve them you have to first
execute our test in m multiple browsers which is basically called as a cross browser testing
cross browser testing means what we can execute our test cases and multiple type of browsers
so through automation how it is possible if the tool supports multiple browser execution then
it is possible right so once you write your test case we can execute it on different browsers how
it is possible because the tool will support it if the tool supports multiple browsers then we
will able to execute our test cases on multiple browsers that is possible so celum supports
multiple browsers multiple operating systems and also multiple browsers now third important
point is support multiple languages it will support multiple languages Java python Shar Ruby
JavaScript these are the main languages currently it is supporting you don't need to learn every
language at least if you know one language you can start using with that language if you know
Java you can use with Java combination if you know python you can use with python combination at
least one language you should know to use selenium so multiple languages support is there if you
take any other tools it will support just one or two languages mostly only one language the
tool will support Max one or two languages but San will support different type of languages and
moreover we can also integrate some third party tools suppose sometimes selenium is not provided
certain uh features for example whenever you want to work with Excel sheet or some databases celum
doesn't support that because celum is only for web based applications it can automate web application
it doesn't support anything else but still if you want to work with Excel sheet or if you want to
work with the database we can we can integrate some third party tools so that is facility which
we have so integration of third party Tools in slim is also possible okay so in the same project
we should not use multiple languages that is not right requirement okay what if you deal one single
project you will take Only You will choose only one specific language okay whenever you want to
use whenever you want to work with a particular project you will choose only one language
don't use multiple languages for one single project okay just a second okay so these are the advantages guys it's
the open source tool it's completely free and just a guys can you hear me can you hear me okay so yeah let's continue so these are the
advantages of selum so now let us discuss some of the disadvantages so every tool we have some
limitations okay now let us try to understand limitations okay four and fifth point so fourth
point is multiple languages it will support multiple language in the sense you can use one of
the language so you can write automation script in Java or you can write automation script in
Python sh or whichever language you want that is called multiple language support and the third
party tools of support in the sense what suppose you want to work with the Excel sheet especially
when you perform the retesting and data driven testing you have to specify all the test data in
Excel sheets and we have to read the data for our automation but Excel sheets doesn't supported
by cenum then how can we do it but we have to use Excel sheet in our Automation in that case
we have to integrate some third party tool which is not selenium tool like Apache POI we have to
integrate with a selenium then we can overcome that suppose for example if you want to generate
the reports so once you have executed multiple test cases and you want to generate some reports
but celum doesn't support reporting mechanism it doesn't have any reporting support so then what
you will do you have to integrate some third party tool like test NG extend reports so you have to
integrate with selenium and then we can use them in our automation so that is called integrating
third party Tools in selenium so wherever you find some limitation in selenium we can overcome that
limitation by integrating some third party tools so that is a flexibility which we have in selenium
we can integrate third party Tools in selenium okay so now only one project we choose one
language we don't use multiple Lang languages for single project okay if you start uh automating an
application if you start a new project choose only one language whichever language you know you can
choose only one language throughout the project now let us understand what are the disadvantages
what we cannot automate using selenium first point we cannot support uh celum doesn't support window
based applications which we already discussed it is only meant for what web application Sim is
only for web application so it doesn't support window-based applications okay it cannot support
window-based applications but how can we overcome this suppose if you still want to automate Windows
sometimes right especially when you're uploading the files when you're downloading the files so
those scenarios if you want to automate definitely we want to deal with the desktop applications
along with the web applications so we can overcome them by integrating Auto it C robot API again
these are all third party tools as I discussed in the fifth Point wherever you have some limitation
we can overcome that limitation by integrating third party tools so these are the third party
tools like Auto ID SQ Robo API by using them we can automate window based applications that's
the first point but by default selum doesn't support window-based applications but there are
certain scenarios where we have to deal with the window-based applications not completely in
those cases we will try to integrate some third party groups now the second thing is reporting not
supported this is another limitation which we have in selenium reporting is not supported means what
how can we overcome this problem reporting is not supported so we have to again integrate with the
test NG external reports all those things so by integrating those things we can by integrating
those things we can overcome reporting Sim is only for web based application it doesn't support
reporting mechanism but at the end of the day we need reports right while executing your test cases
you have to generate some reports for that we have to take the help of test NG and external reports
which we can integrate in selenium okay just a moment I'm just reconnecting guys just hold on yeah now the third limitation cannot support
Excel files as I said before when you perform data driven testing when I use Excel she sheets
[ __ ] doesn't support it but we have to use it we have to use Excel sheet for specifying the
test data again we have to integrate Apachi POI this is again third party Library which you
have to integrate with selenium and graphical things and captas are not supported and we don't
recommend to automate them also because graphs are more dynamic in nature based on the data
the graphs will keep changing and captures are especially introduced for security reasons so
we cannot break them so those things we can't support we don't automate those type of scenarios
these are the diff disadvantages and we can say limitations in selenium so every tool is having
some limitations similarly selum is also having some limitations but there are more number of
advantages are especially it will support multiple operating systems multiple browsers and multiple
languages and moreover it is completely free of cost so that that is a reason selenium becomes
very popular in the market there a that's the reason most of the companies are trying to use CM
it is having more number of features and moreover it is totally free they don't need to uh spend
any budget on that so that's the reason selum is becomes very popular so the fourth disadvantage
is it cannot support Excel files especially when you're working with the re data driven test cases
data driven test case is nothing but what we have to prepare the test data in our Excel sheets or
database or some Notepads for example let's say I have a login screen just try to understand okay
I want to provide the username and password then I want to click on the submit button so I want
to test this login screen with the different type of inputs like valid username valid password
invalid username invalid password valid username invalid password so different combination valid
username and valid password valid username and invalid password invalid username and valid
password blank username and valid password valid username is the blank password so these
are the different combinations of data now if you write your automation test script you have to
run this automation test with the different sets of data with all combinations of data you have to
execute so automation script we can implement by using selenium this we can do it but how to read
the data from this Excel sheet we will put all the data in Excel sheet but how to read entire data
into your automation test script so celum doesn't support any external applications but we can
integrate there is Apachi Foundation is provided a package called POI in the upcoming class sessions
I will discuss in detail okay what exactly they are so these things we can integrate with selenium
so that we can read this entire data from Excel sheet means indirectly Excel sheet support is
provided through Apachi POI because celum doesn't support directly okay so celum cannot support
Excel files directly but how can we achieve this through Apachi POI we can achieve this this
is the limitation this is a disadvantage but still we can overcome that disant by integrating
third party library or third party tool which is called Apache POI same thing here also reporting
is not supported what is reporting means suppose you have 100 test cases you have executed so
you have to get some report right how many test cases are passed how many are failed how many are
having bugs so all this information you want to generate some Consolidated report that's called
a report that report shows everything the execu status but that report should be generated by your
automation test script you don't generate your own report your automation should itself should able
to generate the report but celum don't have such feature celum can automate web application can
execute your test cases but finally it cannot generate any report for you so but the reporting
is very important in automation reporting is very important at the end of the day how your team will
know how your leads will know how many test case you have executed what are fail what pass how
much percentage of tests are executed how much percentages got failed how they will know exactly
they don't sit in front of you and they don't see your execution part right finally they need only
report your management your leads read report so you have to share that report to your leads once
your automation is executed so that reporting mechanism is not there in the selenium it doesn't
support any reporting mechanism but we have to generate the reports that is is mandator required
for that we have to use test NG and extern reports these are also third party tools we are going
to integrate with the selenium then we will able to generate very attractive reports okay clear
everyone graphs and captures we can't automate graph is nothing but what if you have some data
like this it will generate the graphs like this so these type of scenarios we cannot automate
why because the graphs is more dynamic in nature means what data is keeps changing obviously
the graph is also keeps changing so we cannot automate this captures are there sometimes uh in
your application there will be some capture you have to scan this right so this is provided
because of security if your automation code is bro break this particular capture what does
it mean you are violating the security policy so the captures cannot be breakable through your
automation so such type of scenarios also we don't automate first of all celum doesn't support it
okay so guys everybody is clear about advantages and disadvantages selenium advantages what are
the advantages and what are the disadvantages but there are some disadvantages or we can say
limitations even though there are limitations we can still overcome them by integrating some
third party tools because they are very important sometimes we have to interact with the desktop
applications or window based applications celum doesn't support but we have to take the help
of Auto ID SQ or robot API similarly if you want to generate the report celum doesn't do that
we have to take the help of test or extern report similarly celum doesn't support Excel files so we
have to take the help of AP POI because these are all mandator required for your automation okay
but graphs and capture we don't automate at all first of all they don't selum not recommended
to automate such type of scenarios so we can simply ignore them so these are the advantages
or disadvantages we can also say limitations in selenium okay now finally we will discuss
something like versions what are the different versions are there in the selenium and when it
is got started so quickly I show you what are the different versions are available in selenium so
celum 1.x X means it can be any version like 1.x means what 1.1 1.2 1.3 1.4 all these series comes
under 1.x similarly 2.x means what 2.0 2.1 2.3 2.4 like that same thing 3.1 3.2 3. three and so on so
selum is started from 1.x and in 1.x it is having only three components selum ID is only for Firefox
browser they have implemented ID is basically for record and Playback means we can record all the
actions it will automatically generate some piece of code when you execute that code it will replay
it just record and Playback actions for that ID it is a plugin which is available for the browser
later I will in detail here I'm just giving very high level overview and RC is remote control and
grid web driver is not there at the beginning stage through RC you are able to automate web
applications now from celum 2. onwards uh ID is still continued on Firefox and RC is replaced
with the web driver component now s 3.x onward ID is also implemented for Chrome browser and web
driver G is still continued with the some new features and [ __ ] 4.x is again ID is implemented
for fir Fox Chrome as well as edge browser and web driver G is still continued with the latest
features now what is the latest version of selum we can check in the website and this is their
official website if I just go to you can search for selenium and you will find this web page this
is their official web page selenium official web page you can see on the homepage they provided
these three component selenium web driver IDE grid these are the three components and if you
go to this downloads you will find multiple languages these are the five different
languages currently selum is supporting C Ruby Java Python and JavaScript so we are
going to use Java with selenium so the latest version is is what 4.2.1 September 4 recently
released version so 4.2.1 is a September 4 is recently released so we are going to use this
latest version in so still 4.x 12 is a latest version and it's still continuing 4.x series is
still continuing and all components are already there so these are the different selenium
verses currently available so we are going to learn all three components we are going to
use Java as a language and if I come down to this it is also uh showing other information
like what are the different browsers it will support so these are the browsers selum will
support Firefox Internet Explorer is already duplicated because after s Internet Explorer 11
Microsoft is introduced edge browser Microsoft Edge so it is stopped providing more features
on inter this is all already outdated instead of this we can use edge browser and Safari is
supported especially for Mac users they can use celum for Safari and Opera is also supported
so these are the different browser support is there and come to operating systems currently
these are the three operating systems supported by selenium Windows Mac as well as Linux so all
this information is available in their official website this is their official website and
Doc mentation download software everything we can get it from this website itself and if
you go to the documentation they will provide the documentation very clear cut documentation
we provided for every language in every language the documentation is provided if you go to the
web driver so web driver documentation is got provided all the topics all the concepts are they
provided with some examples in every language they have provided so downloads documentation and
supported Rel information is they have provided so this is their official website so everything
we can refer from this website in future if you want to download or if you want to refer any
documentation everything we can get it from this website okay so these are all selenium versions so guys understood so far so we have
done with some in ction part so what is selum we have understood what it will support what
it will not support that means advantages disadvantages and what are the different
versions of selum currently which we have so we are going to deal with the latest version
in the coming sessions but before start learning selenium as I said before programming language
is most important so programming language will play most important role in our automation so
next two to three weeks of time we are spending good amount of time only on the programming
programming concept only programming so once you learn programming Java then we will
start selenium web driver I will share the content what we are going to learn so this
is all about introduction so after that I will discuss the general things so before discussing
the general things about training curriculum all those things do you have any questions so far
on whatever the top topics we have discussed so far so OTP Automation and all we can do there is no specific support required
for that so OTP is just to write automation code so far everything is clear please confirm in the chat box everyone so we
have just discussed very basic stuff so for mobile app testing we have a
different tool called APM so for different purposes we have a different tools are
available in the market and Sim is only for web automation whenever you want to automate
web application we will try to choose selum as a option okay multiple tab can be automated
yes the they are all features actually okay multiple tabs multiple windows okay they are
all we can handle through [Music] automation okay so this is all about introduction
part in the coming sessions uh we will discuss in detail so whatever I mentioned here
everything we will learn okay everything like third party tools also we are going to
learn like test extend report and robot API even one of them is fine robot API or
sq a of them we can learn and apach P also we are going to learn so everything whatever
I mentioned here everything we are going to learn okay so this is all
about interaction part in the next coming sessions we will discuss in detail