This content introduces the concept of automation frameworks in software testing, explaining their purpose, types, design phases, and the importance of choosing appropriate test cases for automation. It also briefly touches upon the application that will be used for practice.
Mind Map
Click to expand
Click to explore the full interactive mind map • Zoom, pan, and navigate
all right so from today we're going to start so implementation of automation framework so
as part of today's session first we will see the introduction like what is framework and how
many types of Frameworks are available and uh then we'll discuss what are the different steps we need
to follow while designing the framework and what are the different phases which we have and uh then
we will discuss about how we can choose CH test cases for automation so let's say we have 100 test
cases which are already written manually and how we can choose the test cases for automation so and
what are the criteria which we have to follow so that we will discuss and finally we will also try
to explore the application test cases along with the application so what type of application we are
going to automate and uh screens and workflows and so on so we'll just get familiar with these
options today and then we'll start developing the framework so first thing uh what is automation
framework okay so what is an automation framework so simple definition so framework in the framework
we can organize automation project related files or folders in proper manner basically we simply
we can say organizing the files which are there in our automation so so normally what kind of files
we can create in automation normally so far we have created so many files right test cases page
object classes properties files utility files test data files report files XML files so these are and
screenshots so these are all different files which we are created in a automation so to maintain all
those files in the proper structured manner we will need a framework so we need a framework
so we don't Club everything into one single place okay so let me give an example suppose you have in
your in your computer you have different type of files let's say you have a personal files you have
audios and you have videos and you have some other files so you don't put everything in one single
folder right so you will separate them like you will put all video files in one folder and then
other personal files in another folder and audio files in some other folder or important files in
some other folder so why we will divide them into multiple folders instead of keeping everything in
one single place because maintenance will be very easy suppose tomorrow if you want to search for
some particular file some personal file so you can go directly go to personal documents and
there you can find your file suppose if you want to find some any video file then directly you can
go to video folder then you can find the video file so basically uh the maintenance will be
very easy if you split the files or if you split the similar files into different folders right
the same concept is applicable in framework also in the framework so whatever files we are going
to create we will have a separate packages or separate folders and we will keep all of them
in those particular folders suppose suppose if we want to maintain a test cases we will create
a separate package for test case and that package contains only test cases and suppose to maintain
the utility classes for that we will create a separate package there we will maintain only
utility classes similarly we create a test data folder which contains only test data files like
Excel files we will keep similarly properties file we will keep in one single folder screenshots we
will keep in one single folder all XML files we can keep in one single folder so we will maintain
similar type of files in different folders and so that we can easily maintain the project and we can
easily modify the test cases you can easily add new test cases and you can apply reuse reability
concept that's the main important maintenance and reusability so these are the main objectives
suppose tomorrow if you provide your framework to somebody else they should also able to read
properly they should able to understand what exactly you have written in your framework so that
is a main purpose of creating the framework so the automation framework the main uh the definition is
we can organize project related files and folders in structured manner or we can organized Man
simply we can call call it as a framework so the main objective of the frame so what we can achieve
with the framework is mainly three things we need to focus the first part is if I if anybody ask you
why we need a framework we can create a test cases normally right like in the last classes we have
just created similar fashion we can create why we need to go for framework so the main objective of
framework is reusability means what if you create something you should able to reuse multiple times
instead of creating many times we create only one time and we reuse multiple times for example
utility files once you created a utility file you can reuse in multiple test cases and data
providers right so that's called reusability so reusability is one of the most important feature
which we need to make sure that reusability should be part of your project so in reusability once
you created something we should able to reuse we should also avoid duplication duplication should
not be there in your framework so suppose if you write some piece of code you should not copy or
paste the same code in somewhere else that kind of reputation should not be allowed in the framework
so we should achieve the reusability that's the first main objective second one is maintainability
is the most important maintainability means what suppose tomorrow if you want to add a new test
cases on existing framework you should able to add it without any confusion and if you want to
modify the existing test case you should able to modify it without impacting other test cases or
without impacting any other files in the project and tomorrow if you hand over the project to
somebody else they should able to also go through your framework they should able to understand all
the files folder structure and everything and they should also able to contribute themselves
so that is called maintainability so once you created your project framework that should be
maintainable for long period of time right if you use only one one month or two months unnecessarily
why we should go for Automation and auto framework and so on so not requireed once you automated your
project that should be available for long time but changes keeps happening that's not a problem
but even though if you keep changing something but the entire project should not be changed
the project entire project should be available for the long time and during that time we should
able to maintain means we can add a new test cases remove existing test case unwanted test cases or
existing test cases we can modify right that is all about maintainability and the third part is
readability also most important we should focus on these three items when you create a framework
readability readability means what everyone should able to understand read your code that much simple
way you need to create okay so now days people are making unnecessarily complicated things because
for example let's say in automation we can create our automation script utility files everything
with simple core Java Concepts so the basic concept we can use and if you're more familiar
with the language or if you're more familiar with Advanced Java Concepts like collections
or data structure or streams Lambda Expressions right so if I use those Concepts in automation uh
the automation cannot be readable right so Suppose there are different levels of people will be there
in team so everybody cannot know everything right in our programming side especially the testing
point of view there is no need of learning in-depth programming if if you're developer
complete totally if your uh job is a developer then you can go to all the topics but as a tester
you can simplify the code or you can simply write your automation test cases with the basic
knowledge or basic skills of java but few people uh maybe reason can be anything but some people
can uh project their stuff and everything so they try to include so much of stuff like
streams Lambda Expressions something like this so normal people can't understand that so that is
unnecessarily making the complicated complicated script so that's not readability so if whatever
you have written something suppose if you're you you only can understand that parle code what is
the news there is no use right everybody in the team everybody should able to understand your
code so wherever the topic is really required you can use it nothing wrong in that but unnecessarily
do not complicate the code okay with simple things we can solve the problem unnecessarily
why we need to go with a complex solution to solve the simple problem so that is not recommended so
keep that in your mind so that's the reason people are having lot of crazy because data
unnecessarily we don't need and collections okay some places we can use collections Lambda
expression streams these and all not mandatory to learn to automation especially but if you
learn that is still fine okay but make sure whenever you write something in your code
everybody should able to understand everybody should able to maintain and if they want to add
new test cases they should able to add and if there is a necessity to modify something they
should also able to modify so project means it is not only Belongs to You project in the
sense is a teamwork so everybody should be in the proper sync everybody should have a same level of
understanding about the project your skills can be different person to person skills can be different
but once you created something all together everybody should be participated everybody
should be able to understand everybody will take it forward so that the main thing reusability
maintainability and readability so whenever you design some framework for a project these three
things we need to keep in mind reusability means we should able to reuse the component multiple
times we should not be duplicated and test cases should be independent and maintainability and
readability so these are the points which we need to remember now if anybody ask you during
interview what is the main uh purpose of creating the framework what is the main objective why can't
we create test cases normally means we should able to achieve some objective so that's the reason we
need a framework we need to maintain everything in proper structur organized Department okay now
what are the different type of Frameworks are available in the market we can there are so
many Frameworks are there all Frameworks we can categorize into two categories main two parts
buil-in Frameworks and customized Frameworks built-in Frameworks and customized Frameworks
buil-in Frameworks and customizer Frameworks buil-in Frameworks means these Frameworks are
already available in the market and they're builtin builtin means already developed just
we need to try to use it for example test NG is also one of the framework test NG is a framework
so which is having so many features like parallel testing parameterization data provider annotations
grouping right so these are all topics provided by test these are all different features are provided
by test so which is a buil-in frame if you just install testng Library we will able to access all
those features similarly junit is also one of the buil-in framework so which is also having
almost similar kind of features which are there in test Eng because initially in the market gunit
was there so after that test came into market so a lot of people are migrating from junit to test
engine because whatever features are there in junit all the features are there in test engine
but in addition there are some more features are there in test engine which are not there in junit
especially parallel testing report generation so these topics which are not there in J unit
but testng we can do that and cucumber which is also one of the built-in framework which
is supported BD style of writing the test cases behavioral driven development so that again we
will discuss later what did bdd cucumber all those things and Robo framework Robo is also part of the
built-in framework so they provided some of the keywords and by using those keywords we can create
our automation scripts buil-in keywords they will provide so the Robot Framework is also comes under
buil-in framework and these Frameworks will not support all kinds of languages some uh Frameworks
will support few language suppose when if you look at test rer jit these are purely related
to Java so if you written automation framework or the entire code is in Java and then you have to
prefer either test NG or junit purely related to Java and the cucumba which is also purely related
to Java but if you want to follow bdd approach of test cases that different tools are available for
different languages okay so for example if you want to use uh bdd with Java then use cucumber
concept cucumber is a tool and suppose if you want to achieve bdd in Python then we have a j
behave J behave is another tool which is there and serenity suppose if you're using sharp you know
then we have a Serenity so different tools are available okay so robot is another type
of framework so these are all built-in Frameworks which are already there in the market and they're
just simply libraries which we can install as a third party through tool then we can access
all those features and then we can create our automation test scripts okay but only by using
buil-in tools we will able to finish the entire framework because the these are also Frameworks so
by using built-in tools can we complete the entire framework means no we cannot achieve the full
fledged framework by using only buil-in Frameworks because there are certain things we should able to
customize so we should add something else apart from this suppose we are using test NG framework
whatever features are provided in test NG we can use all the features in our automation framework
but they are not enough we need to add some more additional stuff into the project so only buil-in
framework only with buil-in Frameworks we cannot achieve the 100% framework concept so we need to
add something else we need to deploy some third party libraries we need to add reports we need to
do a lot of other things okay so but buil-in Frameworks will be very very useful okay but
without building Frameworks we cannot achieve we have to use buil-in framework on top of it
we need to add something and other stuff and then it will become the customizer Frameworks so even
in the customizer framework inside this customizer framework buil-in framework will already there but
on top of buil-in framework we will add some more additional features then it becomes a customized
frame okay so everyone everyone should be use one of the framework that's a mandatory so without
using any built-in framework we cannot achieve anything so these are our buil-in Frameworks
Okay so anyway we are going to use testng in our framework initially so later on I will also show
you how we can what is B how to work with the Cucumber that is also we'll see nowadays this
is also more popular and robot is supported both Python and Java but it becomes very popular with
python instead of java because when I use robot in Java uh there are more libraries are lacking
so again we need to depending on some third party things so it is a it will work full-fledged with
python so python is having more libraries but when you come to Java so that is not much preferred by
people so most of the people will prefer either test NG or cucumber when you're working with Java
and when you're working with python most of the people will prefer either robot or py test py test
is also belongs to purely python so that will not support any other language okay so these are all
buil-in Frameworks which are already available in the market and now customized framework so custom
ized means we can create our own framework according to our requirement according to the
project according Technology based on our skill set so by considering many factors we will create
our own framework sometimes budget will matter right so we will create our own framework so
suppose if the automation tool is open source and free then we can go with hybrid framework most of
the times because whichever tool comes free that will not have full-fledged features definitely
there are some features will be missing so we will again depends on third party tools and we need to
integrate with them then we need to establish a communication right so these and all possible only
within the hybrid R Frameworks hybrid means many things we can integrate in OnePlus the
combining multiple things we make it as a hybrid so customized Frameworks are nothing but a user
defined Frameworks we can create our own frame so when I say user defined means that cannot be
the same same in everywhere suppose if you look at H framework in one company that will not be
the same for other framework which is developed in other company or another person okay so customized
Frameworks will be little bit different it is exactly not exactly the same but there are certain
things which is commonly available in every type of Frameworks if you look at two to three
hybrid Frameworks developed by different people or different projects there are some four components
which are commonly available for almost in every project but apart from this you may find something
else but there are some certain components which are commonly there in almost every framework okay
I have Consolidated almost five to six project different type of automation projects I have
noticed or I have identified some common things and by considering those common things I have cre
my own framework which is basically called hybrid driven framework so if you learn this framework
whichever I'm going to show you if you learn this framework if you practice this so tomorrow if you
join any company or if you look at any other existing framework almost 80% of the stuff will
be the same almost same 80% of the stuff will be the same only 20% can be new or 20% can be old but
that is you need to explore but 80% of the things will be similar if you look at any other projects
okay so if you understand 80% of the project rest of of the 20% is not a big thing you can easily
understand you can cope up with the project and you can Implement from the scratch right
everything you will able to do that so that kind of confidence you'll get so I Consolidated the
similar stuff from multiple projects and I make my own project and the own framework and if you learn
it you can easily understand at least 80% of the projects rest of the 20% you can easily explore if
you understand 80% okay so customize framework in the sense it is a user defined framework we
can create our own framework according to the project budget complexity team skills there
are many factors are available okay this will be discussed in many meetings along with the team and
leads and managers and finally they will come up with the framework which tool we have to use which
framework we have to use how many people should be there in the team and all these things will be
discussed in multiple meetings so customized means what you can create our own framewor like modular
framework data driven framework keyboard driven framework hybrid driven these are all customized
hybrid in the sense a combination like modular with a data driven can call it as hybrid or data
driven with a keyboard driven also we can call it is a hybrid combination of multiple things is
called hybrid framework and especially when you're working with open source tools hyate framework
will be preferred because there is a flexibility to integrate some third party tool suppose the
existing tool is not supporting something you should able to accommodate something else in
your project through that you can achieve the your goal so that POS that type of possibilities are
there only in the hybrid driven Frameworks okay now these are the two kinds of framework built in
and customized now to develop the Frameworks it is a step by-step process we should not directly jump
into framework we should not directly create your test cases we should not directly go and create
a page object classes no so before creating the framework there are certain stages there different
meetings will happen different tasks we need to perform before starting the project or framework
so we will also go through the same phases step by step I will show you what are the phases in
each phase what are the activities we do so once you understand the process then we will follow the
same process while designing our own framework okay so this is not one day or two days job so
this will take few days according to the timelines and they discuss during in multiple meetings and
come up with the plan automation plan and accordingly they will put into the action
fine so what are the different phases which we have uh to develop the automation framework or
we can say stages or phases whatever you have or different stages in our automation the first stage
the first and most important Point analyzing the application under test the first point is
analyzing the application under test means what we need to First analyze the application application
in the sense whatever the build which is created by developer that is called application and what
we need to analyze okay you have an application in front of you you're able to see the web page
you're able to see all the screens and everything but what you need to analyze what you have to you
have to analyze the screens how many pages are there in your application okay and in each and
every page what type of elements they have created they have created more customized elements or
built-in type of elements right so we need to understand the application in that particular
perspective because we have to automated it so when you're trying to automate you will definitely
get some challenges so if you analyze application if you analyze the number of pages if you analyze
the different type of elements you can easily Plan before that like you can easily do some kind of
research how can we handle this type of element like that suppose developers is created some new
type of element new customized type of element so how we can automate that element so we can do some
kind of a research so you need to do analyzing the application and in this particular phase the main
activity what we will do is number of pages which we need to find out so that if you know number of
pages so that you can plan how many page objects I can create right that's a main activity each page
is having one page object class if you know number of pages in your application then you
will know exactly how many number of page object glasses you want to create and accordingly you
can estimate the time accordingly you can assign the team members let's say you have 20 to 30 page
object classes suppose if you want to create your own self it is very difficult thing right so if
you exactly know how many number of pages then you will know exactly how many page object classes are
required if you know how how many page object classes required then you can split them into
multiple team members okay so number of pages we need to First understand now what are the elements
how many what type of elements they have placed in the pay page and how we can automate and what
type of elements they are we need to focus more on this and then third thing what to automate what we
cannot automate so this is another most important what are the things we should automate what are
the things we cannot automate from the application that we need to identify from the application
perspective by not seeing the test cases just by seeing the application application features
and functionalities what are the things we can automate what are the things we cannot automate
you need to differentiate them okay what are the things we can automate because everything we
cannot automate in application there are different things we should do manual testing so that's the
reason manual testing we cannot avoid at least uh suppose if you have 100 test cases at least
10 test cases you should execute manually okay so automation manual will go together automation
itself is uh not 100% we cannot achieve okay so what to automate what we cannot automate that we
need to understand from the application so these are the first phe these are the activities we do
in the first stage analyzing the application under test now once once it is done now the uh
Second Step will start second phase second stage so once you familiar with the application once
you familiar with all the feature workflows and everything from application then second stage we
need to choose test cases for automation this is very very important choose test
cases for automation you'll get more important questions here during interview listen carefully
how to choose test cases for automation let's say you have 100 test cases will you automate
all 100 test cases no never some test cases we have to execute manually there are certain cases
we have to execute manually suppose if you want to verify the colors of the page font size of
the page captas graphs okay and these things you cannot verify and if you want to compare
the images so these things we cannot do automate so we do only manual testing on them but how to
choose the test cases for automation let's say you have 100 test cases in among 100 test cases how
we can recognize what are the test cases should be automated what are the test cases should not
be automated and what is the criteria we have to follow so here there are few criterias I'll
tell you and if you know these criterias you can easily pick the test cases from your test suits
but before starting automation you need to keep your all manual test cases ready that should be
completed before starting your automation the Q preparation phase should be complet and whatever
the stages phases I'm discussing here this is purely related to automation it is not related to
the entire testing process okay this is process is purely automation process in automation once you
start your automation what are the stages we have to follow but before starting automation we have
to do a lot of things we need to do test planning and then we have to identify the scenarios we have
to write the test cases we do lot of reviews and getting the sign off uploading test case in the
tool and we'll do some manual testing also by the time we start automation we need to do some kind
of manual testing right multiple rounds of manual testing and we will get multiple rounds of the
bills also initial bills immediately we should not start automation because until unless uh you will
get at least three to four bills the bill will not be stable okay the developer keeps changing
few and many things so if the build is not stable you cannot start automation so at least first few
rounds of testing you do manual testing you will execute your manual test cases sasm sanity and
basic functional test cases once the build is stable then along with the manual testing you
will also start doing the automation testing okay so but how to choose the test cases for automation
the prerequisite is whatever you need to have a manual test cases ready and from them you can
choose the test cases for automation so what are the criteria and if you look at here the there
are suppose let's say 100 test cases you create you have 100 test cases are created in under test
cases suppose during interview if anybody ask you so is it possible to automate 100% Can
you automate fully 100% automation is possible or not very popular entry question definitely asking
question during entry automation entry especially is it possible to automate the entire project or
entire application that means they're basically talking about 100% automation right is it possible
or not before answering that question we need to understand what is 100% automation means what is
the meaning of 100% automation most of the people think 100% automation means automating everything
in your application no manual thing nothing if you're able to automate everything that means 100%
automation no that is not a right context there not a meaning of 100% automation so let me give
you some example let's say I have 100 test cases among in these 100 test cases you will identify
what are the test cases we can automate what are the test cases we cannot automate that we need to
understand first okay you need to clarify let's say in 100 test cases 90 test cases 90 test cases
can automate that means they are automatable 100% in these 90 test cases we can easily automate
is possible but there are 10 test cases cannot automate so these things we need to First identify
what are the test cases can we automate what are the test cases we cannot automate from our list
so once you have this Clarity then whatever test cases which are automatable if you automate all
90 test cases that is also 100% automation that is actually meaning of 100% automation which the
companies are expecting so nobody will expect to automate everything in your application but
whatever the test cases are automatable you should able to automate them 100% 90 test
cases are there so 90 you should automate 50 test cases are automatable 50 you should automate that
is called 100% automation so keep this in mind very very important so whatever test cases we
cannot automate leave them that we can taking care of manual testing but whatever test cases
are automatable if you are able to automate all 90 test cases that is 100% automation okay so that is
meaning of 100% automation so if now on words if anybody talking about 100% automation or if during
interview if anybody ask you just keep this in mind so whatever test cases are automatable if you
want automate 100 test cases then that is a 100% automation remember this yes 100% automation is
possible in one context and you need to understand the others other people context in what context
they are asking the question are they expecting the entire application should be automated or are
they expecting automating only the few test cases which can be automate So based on the context we
need to give the answer so you should more clear on this don't tell one line answer for that yes or
no no if anybody ask any question during interview you should try to elaborate that answer don't give
one single word and single sentence answers okay don't try to elaborate so that other people will
know exactly what you know if you simply say one word answer one single sentence answers they will
may not be convinced okay so try to explain this so if you're expecting the entire application
should be automated if you're considering that is an 100% automation no that is that's never
possible but if you're expecting to automate whatever test Cas audible automate that then
100% automation is possible okay all right so now I hope everybody's having Clarity on this
next thing so how to choose the test cases for automation so we need to follow certain criterias
what are the criterias whenever you created test cases we will provide some kind of a priorities
like the P1 P2 P3 and P4 we will give priority every test case having some priority so based
on the priorities we have to choose the test cases for example let us say I categorize them into four
all the test cases let's say some test cases let's say you have 100 test cases some test cases comes
under sanity some test cases comes under data d some test cases comes under reg some test cases
are different functional test cases which are not comes or any of the category so in 100 test
cases first you need to identify what are the sanity test cases sanity test cases means what
the basic functionality test cases and if these test cases got failed you cannot proceed forther
execution so to execute all rest of the test cases the sanity test cases should pass then only rest
of the test cases you can proceed execution so those type of test cases will identify and give
them as a P1 priority P1 means these test cases we need to automate the first priority goes to
sanity test cases which we need to automate and the next priority will go to data driven test
cases or retest cases means what if any test Cas is required set of test data or h test data there
is definitely some reputation process is there so those type of test cases whatever test cases
require some data or retesting is required so we need to pick those test cases and then automate
the second priority will go to data D test cases or retest cases okay so first priority is a sity
test cases we should automate once it is done then data driven test cases we have to automate
and after that the third priority comes to the regression test cases so these two we cannot avoid
data driven test cases there is a reputation is there so we must automate regression Tes
regression test cases also we should automate what is the regression initial stage you may not be
identifyed the regression test cases why because you don't know what are the bugs you will get and
what are the bugs the developer will able to fix because B based on those we will decide what test
cases we should execute as part of regression what is a regression means what if developer is
fixed something some fixed some bug so they will deliver the build or they deliver the fix then we
have to retest that bug is fixed or not and also we need to execute some other test cases which are
impacted by this change that's called regression test so during the regression test cases we will
identify the impacted areas accordingly what are the test cases are covering those areas we will
pick those test cases and automate so that will be helpful in the next coming rounds of execution
okay so in the regression testing we 100% we have to prefer automation especially data R testing
in regression test cases we have to automate that's the third priority and we cannot avoid
these things first three things we must automate we cannot avoid and the next if you automate all
these test cases done automation is done still you have some more test cases pending and they
can automate okay if those test case are able to automate then give them to next priority any
other test cases which we can automate if you also automate all those test cases then we can achieve
the 100% but most of the people I have seen most of the projects many people will give priority
to the first three by the time they completed all the test cases the timeles will be reached
there is very less time to complete the project and deliver so most of the times they avoid to
automate the rest of the test cases in those cases they cannot achieve the 100% automation
maybe 70% or 80% they can achieve but at least 100% automation they cannot means what 90 test
case are there but few test cases are not covered in automation because of timelines or urgency
and whatever it is but first three categories of test cases you must automate you cannot skip them
okay so these are the criterias we have to follow while choosing the test cases for automation first
priority will given to the sanity second priority will given to the data driven next the regression
test cases and initial days we can identify these two type of test cases but regression test cases
you can identify on the process so because once you receive the build from the developer once
you find out the bug then developer will give multiple bug fixes whenever the developer is
giving multiple bug fixes at the time you can identify the regression test cases you can try
to automate them so first three categories mandatory we cannot skip them but the last
one we can decide based upon the time which we have okay so this is a second phase choosing the
test cases for automation so once you choose the test cases for automation then third stage will
start that is design and and development of the framework so we will start design and development
of the framework so what is the difference between design and development here design means we will
create a rough uh like is a blueprint for example we will assume the folder structure in the folder
section so here we will maintain the test cases here we have to maintain the utilities here we
have to maintain the test data and here we will maintain the page object CLS so we will have a
blueprint the sketch and that we will Design initial stage and that is called designing
of the framework so creating the ultimately we can say the creating of the framework and
folder structure is called design that comes under the design part and once the design is completed
everybody in the team should aware of the design and everybody should follow the same kind of a
folder structure because all the test cases you won't automate some test case will be asend to
someone else some test case will be to someone else but everybody should work on same framework
so the folder structure should be similar okay that's a design whatever design you have done
that should be very similar and development means what adding new utility files creating the page
object classes creating more test cases this is all part of the development okay so design and
development first we need to have a design then we need to involve in the development means we
can create so much stuff in the framework it's a step by-step process and design and development
of the Frameworks and main important thing who will Design the framework so most of the time
the framework will be designed by the senior people so at least who are having three years
four five years of five plus years of experience and they should also have some experience in the
previous project free Frameworks and everything so they are mainly involved in this particular
design kind of a thing rest of the team also will invol but majority of the role will played by the
senior people so during interview if anybody ask you have you designed your framework then
the answer will be yes or no depends upon your experience depends upon your confidence level so
if you tell I have designed my own framework then they may ask more number of questions and another
thing is I can say I contributed to towards the frame I have not designed entire thing but I have
done some contribution towards the frame what kind of contribution I created page object classes I've
created some utility file I have added some more test cases I have executed in multiple regressions
this is all about contribution towards the FR and designing is totally different contribution
towards the development is totally different so that is answer you have to give depends upon
your experience level and your confidence level if you do not have confidence they don't tell I
have designed my own framework because it's very complex thing and they will ask more number of
questions if you're ready to answer then you can tell otherwise simply we can say I contributed
towards the framework I have so much team and I have involved in the designing but I have not
done the entire design myself I've taken the help of other team members and then we have together
we completed the design part then development part I have contributed so and so that way we
can explain during the interview okay so design and development of the framework is another most
important phase and here it will take a lot of time we need to spend a lot of time on this and
once the framework is done design and development now it is ready for execution the next phas is
comes under execution part execution part so see as soon as you written one test case suppose you
today you have finished one test case execution of only that that test case is totally different
but executing the entire test cases depends upon the requirement is totally different sometimes
whenever you get from the build from the developer you have to execute set of test cases right so
execution can be happen the different levels that is a different type of execution and suppose you
completed one test case today newly automated and execute only that test case and check whether it's
properly working or not that type of execution is different so so here execution will happen
different ways depends upon our requirement we do execution mainly execution will happen locally and
remotely these are two kinds of execution normally we do local execution remote execution local
execution in the sense what wherever you have written your code let's say my entire project code
is there in the eclipse So within your Eclipse I can execute my code that's our local execution
remote execution means what I can push our code in some repositories remote repositories and uh
by taking that code I will execute my test in some other place that's called remote execution you
can execute your test cases remotely some other machine some other system some other application
right some other place some other environment some other operating system that's called remote
execution and through selenium grid we can achieve that remote execution so that I also show you
as part of execution and also executing the test case using Jenkins Jenkins is a remote application
which is a part of devops which is a part of CI environment and the Jenkins will pull the
code from the git repositories and execute in the remote machines that is also remote execution so
we need to take care of these two local execution and remote execution both are required so that
part we will see that is called execution part and now the fifth page the last last phase is
maintenance part maintaining the test okay so maintenance what is a maintenance means in the
maintenance we will have the code in one common place let's say you have team of five or 10 people
they're working on different things they are different automated different test cases and they
created Different Page object classes they created different test cases they created different
utility files because same thing cannot be done by multiple people right But ultimately at the end
of the day everything is related to same project everything is belongs to one single project right
so they have to integrate all of them and place it in one location right so that everybody is able
to access it everybody's able to pull it everybody is able to do modify and where we have to maintain
that called repositories we have local repository and we have remote repository Concepts come into
picture so local repository means individually everyone is having their own local repositories
there they will maintain the code and at the end of the day they push their entire code into
the common repository or remote repository or Global repository so there the entire code will
be available so how we can maintain this local repository remote reposit every day-to-day basis
whatever you do something in your automation framework you have to make sure those changes
should be part of your local repos repository and remote repositories and that should be done during
maintenance part also once the code is available in the repositories Jenkins is a devops tool CI
tool which will automatically pull those test cases from the GitHub repository which is remote
repository and execute in their environment and that is a CI process will start so we'll discuss
all this entire process in the coming sessions no need to worry about it okay so maintenance is one
of the main crucial role so these are the five different phases which we have to follow while
designing the framework so everybody's clear so far so because you have to know the process that's
the most important especially who is putting some kind of experience on your profile they should
know the process they should more concentrate on the process because until unless you really
work on the projects you don't know the process at least you have to know you can imagine the process
so that's the reason I'm going to each and every step in detail okay so I hope everybody's clear so
far so what is framework what type of Frameworks are available and what are the different phases
are involved during the framework and so on now let us talk about something about framework sorry
something about application which we are going to automate okay and then we will go through the same
phases today we will finish this part so first two parts we will finish today itself simple step
because we already have test cases everything is ready I just go through them and later on
you can spend some time on them for analyzing and choosing test cases all those things okay
so let me show you application what type of application we are going to automate what it
is what are the skines are available what type of test case you are automating all those things so
in the market most of the times only e-commerce applications we can easily access because that's
not much sensitive domain but other domains if you look at banking Insurance Finance so these
type application these type of applications are more sensitive so we cannot find a demo
applications through Internet only in the realtime projects realtime environment only you will able
to access those type of applications but it's very very difficult to get them through internet for
practice purpose but e-commerce applications you can get there are so many and number of e-commerce
applications are available in the market and demo applications are available so you can get them and
you can uh do some kind of a project so that you can also gain some experience of profit and you
can project them during the interview so what type of application we are going to use is e-commerce
application we already seen this application many times but we will go in depth of that application
so e-commerce application we are going to automate e-commerce domain domain means what specific area
there are multiple domains are there there are multiple domains are there can you give some
example Healthcare domain banking domain Finance domain what else traveling domain
traveling applications are comes under them right so education insurance Telecom yes these are all
different type of domains logistic yes so these are all different domains are available in the
market and application if you take any type of application which is belongs to some particular
domain okay that is also most important so during the inter what in which domain of applications
you worked on so that is also most important because based on that your experience based on
your domain experience they can keep relevant projects they can keep in relevant projects
suppose if a previous experience in banking domain so then they try to put in your banking
kind of a projects and if you have experience on e-commerce application background then they try to
put in your e-commerce type of testing so depends upon the domain is most because domain skills are
totally different that you cannot learn you cannot experience you you can just experience means you
should work on this particular domain really then only you will gain the domain experience example
I'll tell you in the banking or in healthcare if you take there are so many terminologies are there
only if you're working on that particular domain those terminology you can understand so especially
in healthcare domain it's very very difficult to understand the terminologies normally doctors and
Consultants they use some kind of a technology Healthcare terms that we cannot understand only
people they have those particular domains knowledge they can understand what exactly
they are okay similarly in the banking also in the banking the there are so many kinds
of transactions we can do suppose if you want to send a money there are different type of things
are imps RT dgs okay there are multiple things are there but we don't know exactly what are
those terminologies only the domain experts they know the exact things so domain experience comes
only through experience that you cannot replicate that you cannot learn somewhere okay so whatever
application we are going to automate is this is e-commerce application e-commerce application
which we are going to automate e-commerce domain okay so whenever I say e-commerce domain so what
exactly this domain will take care what exactly will happen in the e-commerce what is e-commerce
application first what e-commerce applications will offer to the clients can anyone tell me
what e-commerce application will offer what kind of things the e-commerce applications will offer
features yes online shopping applic applications any application you can take online shopping it
can be anything they all comes under e-commerce if you buy something through internet through
online that application comes under e-commerce Dom okay so in e-commerce application the overall
e-commerce application we can divide into two parts yes Amazon flip cart snap deal
okay there are n number of applications are there so nowadays almost everyone is buying everything
through online itself so e-commerce applications are become very very popular nowadays okay in
future also e-commerce domain will go very rapidly so we can focus on that PL domain
okay so the main advantage of e-commerce application is is global if you go with
any other domain banking or healthare that is specific to organization suppose if you work
on Healthcare uh application that application is very specific to that particular hospital or
particular company suppose if you're working on banking application that that particular
application those features are specific to the particular banking that cannot be used globally
but the advantage of e-commerce application is that e-commerce features are exactly the
same if you take any type of e-commerce application Amazon or flip cart if you
take anything internal features are exactly the same right so searching for the product heading
to the cart user registration ordering the product tracking the orders checking the delivery status
these are all common in every type of e-commerce application that cannot be changed right so that
is the reason if you know e-commerce domain in domain you can work on any type of e-commerce
domain it's not a big thing because the internal the mechanism of the features or workflows are
exactly the same the UI can be different but internally everything is same so e-commerce is a a
domain okay so e-commerce is yes e-commerce application uh yeah it again depends okay
so based on the market requirements they can develop and specific to customer also
they can develop okay most of the times what happens is they will be having some products
they customized according to their organization they can change logo they can change the product
and everything then they can use it customized product so whatever we are going to discuss this
e-commerce application is a product basically that can be used everywhere in every Company by doing
some customizations okay so now if you take any e-commerce applications there are two kinds of
operation will be done front-end operations and backend operations any type of application even
if you take healthare banking whatever there are two kinds of operations with will be there one
is front end another one is backend operations suppose if you take e-commerce application what
are the front end activities front end operations front end operations means what as a client as a
user I can do those activities I can do those type of operations they all comes under front
end operations so the front end operations are accessible by the customers or by the users
or by the clients but a backend operations are accessible only from admins only Administration
people can access the backend operations front end operations everybody can access okay so if
you take e-commerce application can you tell me some of the front end operations which we can
do front end operations can just list out some of them whatever is there in your mind you can
keep just putting in the chart box what are the front end operations normally we can see on the
e-commerce application frontend operations not backend operations yes so whatever you're saying
is correct so we can register an account as a new customer that I can do I can log to my
application that I can do I can search for the products I can choose a product and add to them
to the cart add the product or products to the cart then I can put those product in the watch
list means future in future I can buy till then I can put them in the watch list and then I can
order the product I can do the payment and once I order the product once I did the payment I
can track the product status whether delivered delivery in the process is still not delivered
and after getting the product I can provide the reviews of the product right I can comment on
the product so these are all front end operations which we can do and many more operations we can do
I'm just giving the main operations so there all comes under front end operations and as
a customer as a user of the application I can do all such type of actions okay and we can also add
any delete product from the card suppose we added some product we can remove it we can delete it we
can modify it right so these are the different type of operations we can do from the front end
everybody's able to access it okay now tell me some backend operations of e-commerce application
backend operations just list out few just two or three backend operations means only administrator
can do those activities can anyone tell me what are the backend operations or admins can
do as an administrator as a backend operation I have to maintain the products information right
how many products are there in the store only those many products should be visible on the
front end application so that I have to check from the back end right how many products are there how
many customers in customers are registered all registered customers information they have to
maintain all the products information they have to maintain and whatever products the
customer is ordered ordered products information also we have to maintain
right how many orders we already delivered how many orders are in the way on the way on the
process how many orders still not yet delivered to the customer that information also they have
to maintain and store information they have to maintain means how much how many products
still there in our stock sometimes stock will be over right some products if I put some specific
days the product will be purchased very very quickly then stock will be uh clean so in that
case they have to maintain the stock and if all products are finished then they have to
buy new products they need to add more products toing their stock so inventory reports okay and
what are the products are buying customers and more products are buying by customers what the
products are not much s sailing happen so all this information shipping information they have
to maintain so lot of other things right they are all maintained by the back end admin istration
part okay so packaging and everything will happen manually but through the application what kind of
operations they do so that is the main thing so here product information customer information
order information store information mainly these are the things there are multiple things are there
main I put some few things here so these are all operations can be done only by the
admins Okay so every type of application is having front-end operations and backend operations
front-end operations can be accessible from every one whereas backend operations can be accessible
only by the admins so there are different applications will be designed from accessing front
end application there's a different application and for backend operation there will be different
type of application but again these application will be integrated each other and they will be
maintain the same database for both applications okay so this is a introduction part so what we
are going to automate is frontend application we are going to automate so we will pick some
features some test cases some functionality from application and we are going to automate them in
our project so while implementing the framework I will show you few test cases four to five test
cases all kinds of test cases I will cover data driven San everything F four to five test cases
I will show you from the scratch based on that you try to add more number of new test cases I
will provide all the list of test cases the entire full fridge Excel document I have I will share the
document and you will find out the test cases and try to automate them because there are hundreds
of test cases I have it's not possible to automate all 100 test cases within your time so I will show
you how to automate few test cases from the front end application and based on that you can continue
automating more number of test cases that is a your work that is your uh job next 15 days one
month take your own time and keep on adding more number of test case because that is also part of
your practice okay now backend operations so we have a backend operations also but backend
operations we are not going to automate but I will show you few functionalities manually
but we are not going to automate so if you if you are interested you can also do that
no problem so let us focus on front end because I have all test cases related to front end only
I have not written any test cases for back end so I focus on only all right so let me show you
application so we already seen many times the open cut application so let us try to explore
in deeper what is this open cut application and all so just type open cut just Google it okay so
let me just go to Google and type open cut and see the description what exactly it is so if you look
at this open cut is an online store management system developed by Hong Kong based open cut
limited it is phtb based okay uh you you're not going to use that live application which
is providing captures and everything so I will provide another application or you can install
your own system the entire web application you can install in your own system I can go through I'll
show you how to install or else alternative I can provide another URL so you there you won't get any
Capas and everything okay right so open cut is an online store management system developed by Hong
Kong based open cut limited so this is basically Hong Kong based company the name of the company is
open cut limited so basically this is the company owned this particular product this is a product
developed based on the market requirements means what anybody can get this product and customized
according to their requirement they can change the logo they can change the number of products and
all the information and they can use it in their companies and it is PHP based using mysqli or post
gr SQL database and HTML component so they're clearly saying what technology they have used
in that application they are using phb for front end and MySQL or postgre is a databases using as
a backend and along with some HTML components so it support is provided for different languages
and countries yeah this web application is also supported in different languages they
are saying and this is freely available under gnu general public license and also it is saying they
are saying it's free open source tool open source product okay so this is a basic information about
uh it it was there in the market since April 2010 but there are so many versions they have released
okay we will get to that information also because if you want to put this in your project in your
resume somewhere you need to understand or you need to write some description about the project
so that's the reason we need to understand this okay so if you just go to their application first
okay so in this application just go to demo link and here they provided these two applications one
is for front end other is for backend operation one application is for front-end operation other
application is for backend operations let me show you so if you want to access front end
application you can click on it I just open the new tab so this is their front end application
so in this application you can do all the front end operations whatever we put here these are all
operations we can do in the front end application it's very simple dead easy you can explore this
application and you can play with that you can just register your account you can create your
new account and then you can play with all the options this is front end application and when
you come to the back end application we'll see also opening another Tab and we need to log into
this so username is demo even password is also demo everyone can access this application and
click on the login now it is successfully log into application so if you look at here backend
operations there are multiple things they can maintain so you can just look at here uh in the
catalog they will maintain the product information categories of products and everything and come to
the sales instead they maintain order information subscription returns returns some products they
will return right so that information they will maintain and customer information is maintained
here customers customer groups approvals all those things we click on the customers customers
here you can see the customers so these are the different customers so if whichever customer newly
registered here that information will store here that will show you in the admin application these
are all registered customers and at the same time this data will be stored in the database
also but if you install this enter application your local system then you were able to access
database also but but online applications we do not have access on the database only we can
see front-end application functionalities we can access backend application functionalities also
we can access okay so you can explore these two applications so if you want in depth we
will mainly focusing on the front end application but if you want to do man testing you can also uh
look at the admin application so you can also write so many test cases for admin application
you can do manual testing then you can automate some of the scenarios if you want but back end
application most of the times will deal with the database so database access is also most of the
times we required uh to test this functionalities okay so it will be like this for example in the
front end application I will try to register an account so you will get some acknowledgement new
user is created how we will confirm that we need to go to admin and here you can see that user
entry is there are and that is also not enough you need to log to the database and check these user
details are present in the database table or not so that is called end to end testing okay so when
you do manual testing even database testing also you should include but we are not not going to
automate the database kind of stuff that you need to do only manual depart manual testing you have
to perform okay so n to Tes is nothing but the first part second part third part for example in
the first frontend application you can test this register account you can register account that is
one test one test case that is over now go to the administrator and log to admin part and check that
Register Customer details are displayed or not this is one test case and now go to the database
and check the table this entry is there in the database table or not that's the third test case
now if you combine these three that becomes the end to end test Cas so front end you are creating
the new customer the same data is there or not in the administrator application you are checking
third level you are checking the same data present in the database or not so these three should be
properly happen properly sync together that is called end to end test okay got my point so n
to end test is combining multiple tests multiple test cases and do one workflow that's called uh
end to end test all right so this is all about application now we are focusing on the frontend
application so I'm just going through some test cases of the front end application and uh then
we will Pro proceed further so for automation uh instead of using this link I will provide another
link you guys can use that particular link I will share that link here because in the live
application they put some restrictions uh with that restrictions we cannot proceed for automation
so that's the reason so this is a e-commerce or you can say open cut applications you can use
this URL no problem okay so this is the one thing you can proceed with this URL if I open this URL
also you will get the same application no change at all exact same application they have installed
okay so you can see this that loog bit different but rest of the functionalities registration
everything is say many people have installed in that and they hosted in their own servers
because it's a product right free and open source anybody can get it and anybody can host this in
their own name of the domain so this is a qox they have owned their own server and they kept
this application so what I have done is I have installed everything in my local system so that
I can also access the database especially when you do API testing the database must be required
so that's the reason when I teach APA testing so I need some APS realtime apas so that's the
reason I have installed the entire application on my local system so that I can get access of
apis back end and everything so that also I will show you so if you try to install I I will not
recommend anything to try to install locally okay but if you still want to have this in your local
system you can still install it okay in realtime company you don't install our applications okay
developer will develop the build and they will provide the instructions how to install build
information steps procedure and everything and accordingly you will install that in your QA
environment in the server in the QA testing team the dedicated server is available so you will
deploy that product in that server and through the URL everybody in the team will able to access
it that is a normal process we will follow in the companies so to install this open cut application
uh I have created a small document and by going through document if you want you can install it
and even if you're not able to install still that is not problem still fine you can directly access
the live application so this is the process you need some exam third party tool because installing
web application is not a simple thing we need lot of things we need to install database we need to
install PHP we need to install Apache server there are multiple things we need to install to deploy
the web application any type of web application similarly if you want to install this application
we need mainly three things PHP required mySQL database is also required and apachi
server is also Tomcat server is also required so if you do not have these three you cannot
install any web type of application similarly this open card is also required that but if you
install them individually my SQL installation com card installation PHP very difficult thing so we
need to download them different places we need to install them and we need to deploy the web
application on top of them it's very complicated process normally the it teams will be taking care
in the real-time environment okay they will know exactly how to work with the servers communication
all these things but here I have simplified this by using examp application examp is a small tool
which is there which is freely available internet you can download it and install the examp so what
is an advantage of examp is which is provided all three components by default if you install examp
by default you will get myal phb Apache all three components by default you will get if you install
exam server okay so I provided all the information here so how to download this software if you want
to download this open card so you can open the first link so it will go to the their official
website if from here you can download so if you click on this is a Cloud store we should not
download this and download now is there right you can just go to latest or you can click on
release notes or you can click on the uh previous releases and you will get all the worships here
so the latest one is October 16 2023 not this one September October I think this is the one
latest one which is got released don't look at the version number look at the date that's the
most important okay this is the latest version they have released we can just click on this and
it will download the software similarly exam also we can download so if you click on this
another link here it will go here and examp also for Windows available Linux also available for Mac
also available so you can download and install an exam software and then once you install you
need to follow the procedure so first you need to install exam step by step this are process I have
captured all the screenshots and at the time of installation I have to make sure my SQL Tom Cat
all the default options by default selected and it will show you the location and everything where
it is installed everything so it is step bystep process and once I have installed exam server and
it will provide something called control panel I'll show you examp I already installed so when
I open my examp so control panel looks like this okay so this is a control panel so here you can
say Apachi my SQL tomat whatever components you need everything is available here so only thing
is what we need do we need to start whatever components we required so you can select from
them and you can click on the start so we need to open this as an administrator so let me open
it you can just right click run as an
administrator okay so I can just click on start Apachi then my SQL and that should
come in the green color Okay so that means it is started and then tom cat is also required
so you need to make sure these three components are keep and running so once it is running so
your Apachi my SQL Tom cut everything is available okay so then you can minimize
it you should not close it and then you can start installation process okay where is the
document so yeah so make sure Tom is optional but apachi my SQL these two you can start it and then
step by step open card installation so once it is started exam then you can install the web
application so this is also a little tricky stuff so if you're able to do that go through each and
every instruction properly and try to complete it uh or else you can leave it no problem so this is
not necessary for you okay so the whole document I have created so at the end you'll able to access
the local application now I have started my examp application I already done installation earlier
so if I click on this you will able to see your local application see this is my local application
I'm it is running on my local system see all the features you can access my account go here you can
click on register login everything this is Local Host open card upload this is my local application
URL I can only access it and similarly I can go to the admin also if you want to access admin this my
local admin so here you can provide demo demo you can access and if you want to access the database
uh you can also also access the database so if you go before here you can find the database link
somewhere
yes yeah this is a link we have to use for accessing the database when I click on it it
will connect to the database here you can see all the tables open shop so these are
the tables you can see if you want to see the customers data you can go to _ customer table
is available somewhere here it is _ customer so in this you can find all the records so here a number
of rows you can select how many number of rows you want and accordingly number of Records will
be shown currently I have only three records in my application so like this you can also access
access the database okay so this is the document you can go through and refer if you're able to do
this you can do it otherwise not mandatory so if you install in your application local system the
entire application is in your control so whenever you want to use you can start exam server you can
start your application and if you don't want to use it you can stop them so you can stop it and
you can close it the fully control your control and the second thing is you were able to access
the database suppose in future if you want to perform any database testing you can access the
database tables all those things and if you want to do API testing also so all apas you can access
only through administrator so that API access will be available only if you install the entire
application but if you're trying to access the online application administrator part you can't
access the apas information so that also you can access because I have used this for API testing
session a testing classes so that's the reason I have installed everything on my local system
otherwise if you want to do only web testing if you want to do only selum automation you
don't need to install not at all needed okay so you can still just use this URL and uh that
is enough I will also provide this document in future if you need this for AP testing because
people who are following my AP testing sessions I have explained how to install how to access the a
how to test the aps of this open cut application so for them it is useful you can go through the
videos and sessions and you can do it okay but if you face any issue in the middle of something
it's very difficult to find out because this is not owned by us so this is owned by somebody else
we are directly getting it but in the real time environment this is not the process to install
web application so they will really install database PHP HTML and everything they will
set up a separate server also so the application will be deployed in the separate server and they
will able to the team will able to access it that is a process this is just a shortcut method okay
because we are just installing this only for learning purpose demo purpose so we just have
one shortcut using examp also we can install web web based applications so simply why we need to
exam tool because we can avoid uh installing the components which are required for web application
for example I told you Apachi MySQL Tom these are all things required to install any web
application but if you want to download them individually install it is very tricky stuff
so to avoid all the complex things one single tool examp we have installed and then we have started
this component okay so this is the document now we understood what is an application how we can
access everything you guys I recommend to use this URL everyone for developing the framework okay I
will try to use my local application but you guys can try to use this but running automation script
you can do anyway just changing the URL automation development script everything whatever automation
script I created in my local application same test cases will execute on the remote application also
no change in the test cases anything only the application URL will be different okay
now so let us see the test cases part so I will share this Excel sheet Excel file to everyone so
this is created during manual testing sessions uh people who are already attended my manual testing
sessions earlier they already know this but uh the new people for automation testing people I'll
share this document can go through it okay what is this document is there are almost 3 to 500 test
cases are there so in the first test scenario sheet I have written all the test scenario
which are related to the open card Front End application these are all test test scenarios
not the test case so for example validating working register account functionality 27 test
cases have written for this for only for register account for login functionality 23 test cases for
log out functionality itself 11 test cases are created and forgot password functionality 25
test cases are created so these are all different scenarios okay I have list listed out here you can
go through them later and for each scenario I've taken register account functionality for that I
have created another sheet called register in this you can find test cases which are related
to account registration functionality so here you can find test case ID test scenario test
case title prerequisite test case steps test data if is required you can can say applicable and you
can prepare the test data in another sheet or else you can say not applicable so these are
the expected results and actual result priority these things we will update after completion of
execution so these are all account registration test case and which cons which contains a positive
test cases negative cut test cases UI test cases everything but all test cases we cannot automate
we will identify one test case which will cover the entire functionality means launching your
application go to the register link provide all the details submit and check registry successfully
account is successful creating or not this is a fun test okay that we are going to automate from
this particular sheet from every sheet you can take one or two test cases no need to take all
the test cases main functional is working or not and rest of them are you can do manually
for example here I can say validate registration account by providing only mandatory fields and
validate thank you for registering email is sent to the register email address after registration
is done and validating register an account by providing all the fields and validate different
ways of navigating register account these are the different test cases different ways we need
to cover all the scenarios right but when you come to automate you don't need to automate
everything you take one end to end flow launch your application go to the registration page
provide all the fields and submit the data and check account registration is successful
or not that's the main test case it should work first and then only rest of the test cases we can
execute right so you need to identify that from every sheet one test case you can take from one
sheet like this login is there in the login also I have created few number of test cases so like
again test scenario test case title prerequisite test steps test data expected result okay and then
actual priority so this is called test case template so again in the login also there are
multiple test cases so what is the main test in the login what's the main test in the login you
need to go to login page provide valid data valid username valid password clicking on
submit login should be successful that's the main test that we should automate but rest of the test
cases here we can simply do manual testing see what are the rest cases I have written
here validate logging into application using valid credential validate login application
using invalid credentials valid login application using invalid email address and valid password so
we can cover all the test cases in one single test which is data driven test we can create a
one data driven test which will cover all the test cases in one shot valid data valid username valid
password valid username invalid password invalid username valid password so for every combination
they have created different test cases we can compare we can combine everything into one test
but certain test cases we have to do manually so validate login application using keyboard
keys this we cannot automate and validate email address and password text fields in the login page
or placeholder or not this is uui test case Okay validate login application by browsing back using
browser back button or not validate logging into application using inactive credentials validate
number of unsuccessful login attempts so these are all different things while did the copying
of text entered in the password field you can do manual testing on these things but we need to
identify one test case which will cover the main functionality from every sheet from each sheet we
will identify one test that is very simple that's not identification is not a big thing because
there are multiple test in the login so which one is a main test when you provide valid usern valid
password it should be successful right that's the main test if that is working fine then we can
continue the the rest of the test cases like this in the forgot password also you can identify one
in the search function we can identify one product compare product display page add to card wish list
shopping card homepage check out this is very very huge document guys almost 500 plus test cases are
there all together all sheets how many sheets I have here is I mentioned the test scenarios
uh almost uh I have 42 41 sheets are there yeah almost 38 to 39 sheets are there okay so this is
very very huge document so go through each and every sheet and try to go through all test cases
you will know exactly how to write the test cases and everything but when you come to automation as
I said the criterias right so based on the criterias you will pick the data driven test
cases basic functionality test cases regression test cases we will pick them from every scenario
few test cases and we will try to automate so according to our project in our project what I'm
going to show you is I will take one registration test case and I will take a login one test case
with valid credentials and login data driven test case also I will show you and uh then uh some more
test case search functionality and product compare functionality searching product adding them to the
cart and uh ordering the product that's again one end to end Des case that also I will show
you how to automate in to end test cases altoe four to five test cases I will show you how to
automate and rest of the things you guys can take care and proceed for that so the base framework I
will show you from the beginning from the scratch I'll show you how to create a page object classes
I will show you how to create a utility files test cases property file everything so once
the framework is there so first we will pick one test case and one or two test cases initially and
based on that we will Design entire framework one framework is available then you can try to
add more number of test cases we can keep adding more number of test cases okay that is a process
which we are going to do from Tomorrow session so from today what you need to do is you need
to go through this Excel sheet and explore that application what the functionalities are there
what we can automate what we cannot automate go through and explore it and get familiar with the
previous concept what we have learned during test NG classes mainly page object classes because the
framework design itself will start from the page object classes okay that is another most important
thing just a second so from the next class we are going to start the framework so I
will just give you the brief idea uh how exactly that we will create a framework
and how it is going to create and how the structure will be let me show show you just a
second okay so look at this so this is a structure we are going to implement see we
will create a page object classes then we will create a test cases and these test cases we will
execute through XML files multiple XML file we will create and again that we can execute through
pom.xml so the underlaying layer we will maintain utility files test data files resources files and
we will reports also we will generate logs also we will generate so this is a part of development
this part is called execution reports logs we will generate right that's the part of execution before
that this is the part of development creating page object classes test cases utilities test data
creation resources creation this is all part of development this is the part of execution and once
the development execution is completed then we will move on to the CI part continuous integration
then we will push this entire code into git repository which is our local repository from
there we will push them into GitHub repository and again Jenkins will come into picture so Jenkins is
a continuous integration tool that will able to run our project by pulling from GitHub repository
in the remote environment so this is the entire thing we are going to develop in the next four to
five sessions and selenium grid is also I'm going to integrate this this is a step by- step process
okay you can see this is the four folder structure we are going to create in the next session I will
show you how to create this and we will go step by step one second third so in the first step we
will see how to create ACC registation the basic test case and then how to add logs to the test
case and then we will see how to run the test on desired browser class browser pet testing we will
achieve and we will read the common data in the config properties file then we will add some other
test case called login test then we will also add data driven test case so if you if you know
how to automate data driven test case one test case you can easily automate other test cases
then how we can achieve the grouping test how we can add external reports to your project
and how to run only failure test cases and how to run our test case on the remote environment
on multiple operating system multiple browsers that's called grid okay and then finally we will
see how to run our test case this is execution part May pom XML through command promp to
run.bat file then how to push our code in the G GitHub repositories and finally how to run our
test case suit from the Jenkins so these are all step by step process in the next four to
five sessions we will spend good amount of time to develop this particular framework the entire
framework we are going to develop okay and once it is done framework is there so then you can
keep adding more number of test cases in this only page object classes you need to add test
cases you need to add newly and rest of them same they will not change they are only one time job
okay so from Tomorrow session we will continue to that this is the introduction part I will
share this document the framework document I'll share later once I've started then I will share
it so for today go to the application explore application and go through all the test cases
so that you will know exactly how to write all these things and then we will proceed further in
the tomorrow session okay so that's all for today so let us stop here and we'll continue tomorrow
Click on any text or timestamp to jump to that moment in the video
Share:
Most transcripts ready in under 5 seconds
One-Click Copy125+ LanguagesSearch ContentJump to Timestamps
Paste YouTube URL
Enter any YouTube video link to get the full transcript
Transcript Extraction Form
Most transcripts ready in under 5 seconds
Get Our Chrome Extension
Get transcripts instantly without leaving YouTube. Install our Chrome extension for one-click access to any video's transcript directly on the watch page.