okay so hi everyone uh welcome you all uh from today we are going to start APA testing classes
and as part of today's session uh we are going to see the fundamentals like uh what is an API
and what kind of testings we do on part as part of API testing and before discussing
about API testing we have to know some Basics about what is client what is server and how
exactly web applications Works internally right so we need to have some basic knowledge on web
testing also to before starting API testing okay and in the today's session we will see
some Basics we will understand we will try to understand some basic concepts and then
we will try to understand what is an API testing and how we can conduct AP testing and what are
the different tools are available in the market to perform API testing okay so that's a basic
introduction part today we are going to see and at the end of the session uh if you have
any questions you can ask me and mean file you can use chart window to post all your questions okay
so first of all let us see the basic like what is web application so what is actually software
a software can be an application which is developed for specific client or specific
customer right so software application software is an application which is developed for specific
client or some customer or sometimes the software can be developed based on the market requirement
also and which is basically called as a products right so where exactly API testing come into
picture so there are various types of testing we will conduct on software like web testing API
Testing mobile app testing performance testing security testing there are so many types of
testings normally we do on software so why we need to do all these kinds of testing because
we need to release the quality product or quality software to the customer so that's the main end
goal right so APA is also one of the testing API testing is also one of the testing which is very
very important to do the software but normally uh web testing we will know what is web testing means
we will test that application and functionality we will test with respect to customer requirement
whether it is working according to customer requirement or not the functional device we will
test on the web UI but what is an API means API is basically the API testing we will conduct at
the backend side so we don't see anything on the UI so we will do APA testing and the backend side
so which is basically comes under backend testing like API testing database testing so these things
comes under backend testing not a front-end and web testing is comes under the front end
okay web testing so we have also different tools are available in the market like to perform web
testing we use selenium normally and to perform APA testing we use Postman and rest ratio so
bi and so many tools are there in the market so different for different type of testings we have
a different tools are available in the market and for API testing also we can do manually and also
we can do automatically and to perform manual API testing normally we use a tool called Postman and
then to perform automation testing we will use a rest assured okay so one is a manual testing
tool the other one is an automation testing so as part of this course we are going to learn both so
first we will learn Postman tool and a few days we will try to understand what is Postman how
to use Postman how we can test apis manually by using Postman and what are the different
features are there in the postman so we'll try to understand and we will practically test all the
apis by using Postman tool and once you understand manual testing of apis then we will move on to the
automation part that is rest assured so in the rest I showed we will try to automate the apis
and to automate apis using rest assured the main prerequisite is what you have to know
a Java Basics Java programming Basics and then you should also know some basics of test engine
framework okay so if you learn web testing uh these two things will be part of your web testing
okay and even if you don't know test NG no problem but at least we have to know some Java Basics okay
how we can write a simple Java program if you know some basics of java you can easily understand this
okay and it is very easy to learn also and even web testing is something trickier than
API testing and you can easily learn API testing and very simple and very easy to learn only thing
is you need to know some basic Java Concepts okay so let us try to understand some basics of
web applications and then we will discuss more about what is an API and what are the different
testings we will conduct as product API and so on okay so first we will see a manual testing of apis
using Postman tool and once you understand the replay testing using manual process then we will
try to learn automating apis by using rest ratio so these are the two tools which are part of our
sessions okay so let me share a small presentation and to understand about web applications and so on
and very important session so because if you are not understood these sessions or these are
important points then it is very difficult to understand the rest of the things okay yeah so
Java Basics are not part of the session so it's not part of this course okay you have to already
and if you don't know Java Basics so please go through my free sessions which are available on
my YouTube channel and you can understand some Basics and people who are already
attended psyllium sessions and who already know Java Basics and they are enough okay
all right so first of all let us see what is client and server so these two terminologies we
use normally while working with the web-based applications client and the server so what is
client and what is server a simple understanding is server means what which contains the actual
application so which contains a actual application or software will run on the server and we will
able to access through the client client is nothing but what from where we are accessing
the application right so for example on the web application suppose you are typing google.com
and we are able to access Google pages from the server and we are not those pages are not coming
from your local system right so they are coming from somewhere else and we are trying to access
them through browser right so from where you are trying to access that is called as a client
from where actually the software is installed or from where exactly the web pages are uh still
exist that is basically called as a server okay so the definitions wise a client is
a computer hardware device or a software that accesses a service made available by the server
so the definitions are little bit tricky but simple way to understanding is
a client is a a computer or from where we are trying to access the application so for example
through browser we are able to browse the different pages different websites we are able to
access and that is comes under the client so from where we are trying to access the applications
that is called as a client and actually where the applications are installed from where we are able
to exactly accessing that is basically called as a server and between the client and server we need
a connection so through internet we are able to establish a connection to the server and then we
are able to access it so the basic understanding client and the server the client means what we
are all clients because we are able to access the application through browser that's a client
and from where exactly we are getting those pages you are browsing so much of information
in the internet from where we are getting all that information where exactly that available is in the
server and sometimes these servers many times the servers will be in the remote locations for
remote environment okay but in some organizations uh they will also keep the servers in this local
environment but normally in the internet uh the servers will be there in the remote environment
so we will able to access them through URLs okay so through your answer so for example just we
are browsing some website right so when I say google.com it is just sending some request here
and immediately I'm getting the page right so here we are accessing the application by
passing some URL by sending some URL and this is a client as a user I'm able to access the
applications through browser this is a client and from where we are getting these pages from where
we are getting all this information where exactly these information is available that is called as
a server and when you send some requests to the server in the form of URL which will give us to
response the server will respond with some data okay for example here I'm typing uh let's say APA
testing I'm searching for something so I got all these pages so from where I got all these Pages
the server is respond to us so how why server is respond to us because we are sending the request
when you're searching for something the request will go to the server and server will fetch the
all information related to this this particular keyword and then respond with all the content so
from the client application we are able to browse the data or we are able to we are requesting the
server to provide some data and the server will fetch the data related to this keyword and sending
all this information so this is how exactly client and server works and the client is not
always a browser uh most of the times we will use mobile also right in the mobile also we are using
some maps that is also client okay and from where wherever we are browsing the data through internet
there all comes under the client application and where exactly those pages are exist from where
they are exactly operating from there exactly the software installed that is comes under the server
so this is a basic terminology which we need to understand what is a client and what is a server
which is very very important especially when you are working with the web-based applications now
to understand this more about and we need to also know something about architecture client server
architecture how exactly this client and servers will be communicated and what are the different
type of architectures the web-based applications will follow and these are basic fundamentals like
we have Wonder our texture two-time architecture and then we have also a 3D architecture
and web applications mostly followed three Tire architecture okay web applications will
follow three-time architecture so let us try to understand what exactly one tire two tire
and a three Tire so one tire applications one tire architecture is nothing but what we have a
single system we do not have any internet we have a single system where the client will be running
client and there will not be any database actually there will be some files let's say I'm using
some notepad I'm typing something or I'm typing something in the MS word or Excel sheet and when
you're saving those files where exactly we are saving the data in our same machine right in the
same machine in the file format we are saving the data and for that we don't need any internet for
that we don't need to maintain any databases right so these are all one tire architecture so if your
client and the server server here is nothing but a file system so when you run client and server in
the same machine which is comes under one tire architecture so nowadays we do not have such
type of applications because this is pretty old technology and we will keep the client and server
both in the single system both are running in the single machine same computer and which is Wonder
architecture and the two tier architecture means what we have uh multiple client servers client
computers and they are accessing the database and this database will be there in some other machine
okay some other machine we will use as a database server and different client applications will
access the same database so for example internet applications suppose if you go to any Bank write
any banking organization so they will internally maintain their own servers and their staff will
access the database suppose in their organization let's say 10 to 15 people are working all of
them are accessing the same database server which is located in their environment locally
and that is comes under two Tire architecture so two tire is nothing but what different lines will
able to access single database server and this database server is a different machine not on the
same machine so these people let's say 10 people are accessing these 10 papers don't have their own
local memory so whatever the the tasks they are doing everything is happen in the common database
and here this is a two-tire architecture when you come to the three-tier architecture again
this is divided into three parts and the client Tire business logic and database layer we can say
this is client application this is a application server or web server and the database server so we
can divide it into three parts so here client is nothing but what we are we are all clients we are
browsing the data from the browser and database is what actual data will be stored in the database
and between the client and the server between the client and server there should be some business
logic okay there should be some business logic is running and what is the responsibility of
this business logic layer is which will take our request from the client and same request will send
to the database and fetch the data and again send back to the business logic layer and same
business logic will again send the response to the client so this is a indirect process so between
the client and database there will be one more layer is there called business logic layer we can
say business lodge which contains a business logic normally we call ml application server web servers
many things are there so overall we can divide into three parts so all web applications all web
applications comes under 3D architecture or follow the three-terr picture so there are so many client
applications will run business logic layer will be there and after that database layer will be there
so these are the two different type of machines located in different locations remote locations
so as a client we don't actually what is happening in the back end so what kind of business logic is
executing what kind of database where exactly our data is stored in so we it is not visible
as a client or as a user I cannot see all of them but as a client we will able to browse the data we
will able to send the request to the server and we will able to get the response from the server but
who is taking the request we say who is processing it who is sending the response those things are
completely backend they are invisible to the user so that's how actually web application works so
again if I divide it into three parts we can call them as a presentation layer application layer
and data layer we can come we can categorize them into two sections or two parts one is presentation
layer and then application layer and a data layer presentation layer is nothing but a user interface
user interface we are able to access application through browser right that's called presentation
layer it will present the data which is uh from server and application layer means what
business Logic the application layer contains a business logic even web server is also comes in
this particular middle layer application layer web server or we can say application server and web
server so these two uh comes under middle layer and then database layer is a third layer which
is also called as a data layer so presentation layer application layer and data layer so every
web application will have three components or three sections like a presentation layer
application layer and data layer so presentation layer what is the purpose of presentation layer
here is which will present the data to the user which is basically called client and what is an
application layer which is having business logic and what is the purpose of application layer which
will take the request from the presentation layer same request again will send to the data layer and
actual data layer contains what which actually contains the data and whatever the request we
send corresponding data will be available in the data layer so application layer will send the same
request to the data layer and the data layer face the data and again response will be given to the
application layer and this application layer again send the response to the presentation
layer so this is how exactly web application works between presentation layer application
layer and data layer and these three are the three different components of web application
now to presentation layer normally to develop the presentation layer web applications or developers
will use this Technologies like HTML JavaScript CSS so these are all scripting languages so by
using these cryptic languages the developer will develop the UI or web applications that
we can see on the browser so the presentation layer is nothing but a web applications all web
applications comes under the presentation layer so these web applications will be developed by
the developers by using HTML JavaScript and CSS these are scripting languages and applications
are application layer right which contains a business logic and who will develop the
business logic again developers will develop the business logic by using programming languages
like java.net C sharp python C plus plus so here actual uh programming languages came into
picture so by using programming languages developers will develop the business logic
and that business logic is researched inside the application layer that's the secondary layer now
the third layer data layer which is also called as a database layer database layer is nothing but
what here we install some databases like MySQL or it can be Oracle or SQL server or mongodb or
whatever so many databases are there in the market and we can use one of the database as a database
layer which is also called Data layer and actual data is resides inside the database only because
database only can hold the data and application layer what is the purpose of application layer
the processing the processing will be taken care by application what is the processing here again
we'll send the data from the presentation layer we will request and then application layer will get
the request and same request again sent to data layer and get the response and same response will
be presented on the presentation layer so these three things will internally work for any type of
web applications but as a user what we can access only in the presentation layer that means we are
able to see the application we are able to work with the web applications that is all comes under
presentation layer so application layer data layer is invisible so we can't directly access them okay
so this is the basic understanding what is client and server architecture okay so in every tile like
in one tire two tire and Twitter also we will have a server okay we can have a server but the server
will be there in the same machine if you go with the Wonder architecture we can have server in the
same machine and tutor architecture also multiple machines are there two time means for two term
means at least two components should be there client is different and server is different here
database is acting as a server so two different components two different machines and in the three
interact texture again it is again divided into three components client is different business
logic is different database is different and these three will be located in three different
places and again there will be many number of clients there will be many number of application
servers there will be many number of database servers but the overall the architecture level
if you talk we will convert we will categorize into three different parts client business logic
which is basically application layer and then database layer okay presentation application
layer and data so we need to First understand uh these three things very very important
okay now let us try to understand more details so what is an API now okay so we understood
what is presentation layer what is application layer what is database layer but where exactly
API come into picture so what is an API now let us try to understand this in detail interface
application programming interface so this is the full form of ABR application programming interface
so what is the EPA where exactly it reset and what is the purpose of this API
so the AP is basically used for or communicating between two applications let's say there are two
different applications and they want to communicate each other and there should
be some mediator right there should be some mediator and that is basically called as an API
so API is a way of communication between two applications where applications May differ in
their platforms or in terms of technology so those applications will be developed in
different platforms and those applications will be having different functionality but
still we will combine those applications we can communicate each other by using
API so for example let us take here front-end applications we have a front-end application here
so in the front-end application this is basically a web right so this is basically web application
so this is our web so we discussed three layers one is for presentation layer so this is called
presentation layer and this is called uh in middle layer we can say application layer
or application server or we can say uh web server in the middle layer and this is called backend
application or we can say data layer or data database server okay three components so what
what in the web application in the presentation layer what we will do we will try to access the
application through UI and we are sending some requests to the middle layer which is actually
APL layer here actual apis will be reset so API is nothing but what which contains a business logic
so as we already discussed in the middle layer we have a business logic inside but
the business logic is available in the form of apis the business logic is nothing but an
API so eBay contains a business logic which is developed by the Developers
so when you're sending the request to the server or when you're sending the request first it will
go to the middle layer and what is there in the middle layer we have different type of apis
so many types of APs are available in the middle layer and based on our request corresponding API
will be triggered and that APA what that APA will do again that AP will send the same request to the
server that is a database layer and fetch the data here and provide the response to the presentation
and who is send who is taking the request who is sending the response to us API okay EP is taking
the request and APS itself sending the response to the presentation layer so that means APA is
acting as a mediator between presentation layer and the database layer and where exactly these
apis are present the apis are present inside the middle layer middle layer which is business logic
which contains a business logic so which will do two things what is the first thing this is the
responsibility of the API layer to fetch the data from the back end and display on the front end
and the other side what is the responsibility of API this is also the responsibility of the
API layer to take the data from the front end and insert into the back end so it will take
the data it will take the request from the front end again send to the back end and get
the response and provide the same response to the front enter or presentation layer and this
is a mediator application programming interface there is a full form actually API application
programming interface what does that mean which is basically in application application means what
which contains some functionality and which is assisting to the application where exactly we are
using application here we are using application so what API is doing apis is getting the request
from the application sending response to the application so it is an application programming
means what which contains a programming logic and which is also an interface means what it
is acting as a mediator are acting as an interface between our front end and our backend applications
so that's the reason the name says API application programming interface and where exactly these apsr
resides in the middle layer in the middle layer APS will be available now when you perform the
testing on this particular layer which is comes under web testing okay we use selenium there here
and when you directly conduct the testing in this particular layer which is called as a API testing
so when you conduct the testing in the database layer which is called as a database testing
three different layers okay and one thing we need to understand so if you want to test the web or
web testing if you want to perform through browser we are able to access the web application so we
are able to see that entire UI and we are able to interact with the elements and we will able to
perform the web testing but how come we testing the apis and why we need to test the eaps here
so if you conduct the testing web right so from where exactly we are getting the data in the web
application AAP is only providing the data right through apis we are getting the response on the
UI and what exactly we are validating on the web applications we are validating the data we
are validating the functionality on the website or web testing side right but from where exactly
we're getting the data from where exactly we are getting this functionality only through
APS we are getting this and if the eaps are not available our web applications will not work
because the web application is actually need the data and functionality which is actually
coming from what middle layer AP is providing that so we are doing the testing on the website
but what kind of testing we do on here we will do a pay testing as part of API testing what you will
do we will instead of testing this web application we are directly sending the request to the API and
we are getting the response from the API and we will test the response we will do some validations
on the response same thing is happening the front end also for example when you're testing the web
applications we are now testing the here web so what exactly what you are testing here is
whatever the response uh provided by the API so because when you send some request through web
application eapas are giving the response and this response we are testing on the UI so instead of
testing on the UI what we will do directly we will access the apis and we will send the request to
the API directly and we'll get the response from the API directly and we do the testing here so
this is a APA testing so instead of doing testing on the web we will directly do the testing on the
apis that comes under the API testing but what is an advantage so do we get any benefit when you do
the testing on apx yes so what are the benefit we will get when you test the EPA so normally what
happens is in the real-time environment initially they will develop the database faster so the day
first they will ready the database and then they will develop the apis and then they will develop
the web so these are the three different things will be developed in three different times by
different people so database developers will be different API developers will be different
web developers will be different they are having different Technologies they should
know different type of Technologies okay now initially they will develop the databases and
then APS will be developed by the developers and then web will come into picture so between
these two there will be lot of time okay first they will develop all the apis and once the apis
are ready then they develop the web because if apis are not available there is no use of web
right if they're in yeah they have all everything is implemented on the UI so login is there images
there everything links are present everything is present in the web UI but when you perform some
activity it's not working anything so when you do login it's not working when you click on the link
it is not working because APS are not yet ready so without apis if you have only web application
there is no use so first they have developed the apis on top of the apis they will develop the web
oh which is they will develop the web application so web application work based on the apis so the
First Development will happen on the APS and then the next level development will happen on the
web based on the apis so as soon as the apis are ready or developed by the developer if you conduct
testing on apis if you do testing on epas so we can do less testing on the web because almost
if you come if you complete 80 of the testing here on the UI side we will just do only 20
percent of the testing you no need to Do complete testing so why because the same apis will provide
the response taking a request from the web so whatever the response or API is giving to the web
right here we will test it but instead of doing testing here we directly send the request and get
the response from the API and we do the testing we do the response validations so here itself we will
finish 70 to 80 percent of the testing and rest of the testing we will do some basic level testing on
the UI like all the UI elements are alert properly or not fonts are correct or not colors are
properly uh put or not so all colors are correctly mentioned or not so just we do some UI testing
but main functionality testing is done at the APA level itself because APA itself is providing
the data to the our web application so instead of testing web application directly we can test the
EPA functionality that will reduce lot of our time and that will reduce a lot of our effort
okay so this is a main purpose of doing a pay testing so this is actually what is an API so
AP is nothing but what application programming interface why it is an application programming
interface because which is uh working for the application and it contains a programming
logic and which is acting as an interface between presentation layer and the database layer so that
is the reason we can call it as a API application programming interface and these apis will be used
to communicate between two different type of applications let us say this is one type of
application this is another type of application so these two things will be communicated with the API
okay we can communicate with this and this is the one way of understanding this okay so yeah we can
do functional testing in the APA level okay so in that case in the web web level we no need to
do function testing we will just do the UI testing okay so if the functional testing is done on the
APA level and the web application what you will do you will just test the Geo testing graphical
user interface so all elements are properly aligned or not alignment existing colors okay
font these things we will just evaluate on the UI if you conduct functional testing on
the APA level and there is one more thing even web application is communicating with the AP
or not so the communication also we need to test properly right so that's the reason we should also
do some kind of testing on the UI and we should not really completely on API at the same time we
should not relay complete on the given both are important both are important to do it but most
of the testings if we conduct or if we complete on the APA level we can do less testing on the guis
okay so we can put less effort or less time we can spend on the GUI testing if you do uh if you
spend more time on the APA testing so that's the main advantage and moreover we no need to wait for
the GUI like as soon as the ap's development is completed you no need to wait for GUI for testing
because it will take some time to develop right so in the meanwhile itself we will directly test
the EPs and once you get the application or GUI then you can start testing the GUI and that is
a process normally we follow so first level of testing we do on apis level and then next level
once you get an UI and once the UI is developed then we will conduct the testing on the GUI
so that's how things will happen so because this will take some time immediately it is not ready
okay so before that AP should be ready so we will do most of the testings on API and once the UI is
available then we will do some part of the testing on the UI both are available both are important
okay so this is how we need to understand what is exactly AP means and where exactly AP come into
picture okay so the programming language will be used to develop the apis application development
will be done by using scripting languages scripting languages I told in the previous slide
here but just look at here in my previous slide so presentation layer that's not web application
will be developed by using HTML JavaScript CSS so these are the scripting languages will be used
and to develop the apis programming languages will be used like java.net C sharp python so by using
these programming languages eaps will be designed or APS will be developed so the languages will be
different so even developers also different web developers are different programmers are different
database developers are different okay so everyone is not having the same kind of a skill set so web
development will be taken gear by some other people and database layer will be taken care by
somebody else and abs or business logic will be developed by some other developers so different
team members different things will be done okay we should not Club all the Technologies into one
category but overall they will work for the one goal that is they want to develop an application
they want to develop a software okay so this is the basic understanding what exactly client
and server and then we have understood three tier architecture like front end middle layer
back-end and also we have understood what exactly AP means and we will try to understand with more
examples so in this context what is an API API is an application programming interface which
is contains a business logic and here front end is one application we can cancel backend is also
another application so these two will communicate each other through API through API they will
communicate each other okay so to understand uh more detail API let's take the simple example
so let us say uh let's take one restaurant okay to understand what exactly the AP how
it will work so let us take the restaurant in example so to the restaurant a customer
come to the restaurant let's say he is called consumer okay and there will be a waiter also
and uh as a customer what I'll do I'll order for the food okay so waiter will take the order and
the waiter you will not prepare any food right so what waiter will do he will go to the kitchen
and the same request will send to the Chef right so as a customer I will order the food which is
basically called as a request and waiter will receive the request and the same request sent
to the kitchen and Chef will prepare the food in the kitchen so we can consider this is a back end
so once the kitchen is once the food is prepared then respond right the waiter
will again provide the food to the customer so if I just look at these three different things
based on this example we can understand what exactly APA will do so here he's a client
he is a client or customer and waiter is acting as a APA role application programming interface
and Jeff is acting as a database layer so actual food will be prepared here so as a customer I am
requesting the food to the waiter and what a waiter is doing same request is again forward
to the database layer and in the database layer actually the food will be prepared at the kitchen
and once the food is prepared the same response will be given to the waiter and this waiter will
provide the food to the customer so here if you just look at three things are happening so one
is request from here request is happening same request will go here again go to the
database and same response we are getting here and customer will get the food so here this waiter is
acting as a a payroll application programming interface is a mediator between the customer or
client and the back Ender so this is he is the guy he's a communicator between the two things
okay so based on this example we can understand what exactly AP means how exotic will work
okay now let us try to understand more so if I just look at this
foreign just a second okay so let's take this application example let's say make my triple
so make by trip.com so this is a website and internally this website is using different
type of apis okay so internally this website is using different type of air base so how exactly
applications will internally use apis so let us try to understand so what we understood what is
an API APA means through the APA we will able to communicate between two applications right so if
I just look at this makemytrip.com so this is an application so what we can do in this application
in this application we can find available flights or we can find available hotels so lot of things
we can find right so as a user right I'm just want to book a flight ticket so I can provide some data
to this might make my trip okay I can search what are all files are available by sending some data
so this is called request okay this is called request I am sending some information from where
I need to travel from where I should go so on what date I want to travel so this information I will
provide that's called request and what make my trip will know how make my trip will work again it
will get the data from the different airlines like a different type of aliens we have so each Airline
is different each Airline is having different flights so how make my trip will get the data
about these Airlines so the same data whatever we provided same data again they will send to this
APA so these apis are exposed by these Airlines different alien companies are having their own
apis so they will expose their own apis so whatever data we have requested to make my
trip the same data again recent to those apis and what these APS will do these apis will give some
response to us and what are the different flights are available from those Airlines
and these flight information will be again displayed to the customer so how this make my
trip is getting all the information from different to Airlines through the different apis and make my
trip is not developed those apis they are just using those apis by sending the request and
getting the response and these apis are developed from whom so these apis are developed by their
own companies their own companies so let me show you one more example for example every
day almost everyone we use Google Maps right so we're using Google Maps so Google Map is an API
so which is developed by so Google is developed their own apis actually Google is the owner for
all Google related apis Google Maps apis but these Google Maps we can use in different applications
so we are using an Uber we are using in WhatsApp or we are using any other travel applications
but these applications are not exactly developed with the Google Maps but these applications are
using the Google Maps through the apis through the apis so Google is the owner for those apis
Google is owner for those IPS Google is developed those apis but they APS are exposed to the public
so for example in the WhatsApp you can share your location to somebody else but
internally location you are sharing means what Google Maps apis internally uh integrated so
WhatsApp is basically requesting Google Maps API to provide the location so that's the integration
but WhatsApp is not developed a Google map or Google Map apis it cannot locate anything but
it is internally calling Google Maps and Google Map is providing the directions so like this if
any companies developed some apis and if they are exposed to those apis to the public everybody will
able to use those apis everybody else can use those APS in their applications they don't need
to again develop the same thing so whatever is already developed and that is available
through API and other applications will use it okay for example you have a Google account
you have a Google account so with this Google account you are able to login into Facebook
you are using the same account to the LinkedIn you are able to use same account for some other
thing right so different applications are using same login purpose but how this Facebook how this
LinkedIn applications will know about your Google Google account how these applications will know
about this Google account because internally the Facebook when you're signing up the Facebook when
I use Google account the Facebook will request this Google through API and through this API they
will check whether your account is valid or not if it is valid then they will allow us to log in
similarly when you use Google account to log into the LinkedIn what LinkedIn will do LinkedIn will
request to the Google through the API whether the account is valid or not if it is valid then
API check APA will send the request and get the response and in the response they will check is
it valid or not then accordingly it will allow or not they will decide so how these applications
are interacting with the Google account or Google because of eapis So based on this we can
understand APA is a tool through API we are able to communicate between two different applications
Google is a different application Facebook is a different application LinkedIn is different
application but we are using same account for all the applications or not yes we are using
the same account for all applications how these applications will know about our account through
APA requests they will come to know whether our login or whether our account is valid or not
so that's how internally APS work so nowadays every web application internally use apis
internally use apis so all the functionality of your application provided only through apis
okay if suppose some functionality is not working means what some APA is not up and
running so for example on your application okay on your application you are trying to access some
functionality okay Suppose there is a some feature called search and they say you have some feature
on your web application and you are searching for something here and you are pressing Enter
key or you are not getting some data here you are not getting proper results what does it mean
when you're searching for something you requested something to the server and maybe your APA is down
or your database is down sometimes in those cases what happened you will not get the proper response
and your application is not responsible for that so particular EPA or particular database
is sometimes down in those cases you will not get proper response so even application functionality
is also works based on eapa request and response so if you do the testing in the APA level 80 of
the testing if you do the testing on the API only rest of the 20 of the testing you can do
on the web application it will reduce a lot of time and also effort okay so this is a basic
understanding what is an API where exactly AP come into picture and what we do as part
of API testing okay let's understand a few more things so what are the different types of apis
so how many types of apis we have so basically we have two types of APS in the market
like we have soap you are soap APA soap related APS and rest apis okay so based nothing but a
simple object access protocol rest is nothing but a representational status so these are the
two different type of APs are available in the market but soap apis are very very old one so very
less number of companies are still using it very very less and uh most of the companies almost 80
percent of the companies are using rest Services nowadays so soap is having their own technology
actually so they internally use XML to process the data and so on but that is a very old technology
but uh in rest is a latest technology so many of the companies nowadays are using rest apis
so soap and rest so these two all two tools uh these two APS internal use a different type of
technology different type of communications and different type of data okay so soap support only
XML type of data but rest support XML Json html text different type of data is also supported
while you're communicating with the server but soap support only XML format and this is very uh
XML is very lengthy and that's very complex also sometimes when you compare with the jsons and uh
it's very weighted data will be sent to the server so just try to understand these are the two types
of APs which we have in the market and soap is very old type of apis and rest is a latest so both
are APA zombie okay but sometimes we use something called web service so this is a term also normally
we use web service so we need to understand this also what is API what is web service what
is the difference okay sometimes we will use a web service this name is also very popular
okay so what is an API what is a web service
see uh when you what is an API we have understood so far is we basically AP will get the request
from us and it will give some response to us so it will take some request it will give you some
response that's a job AP is done right but what is web service what web service will do thank you
it's very same actually so when you keep this API in the internet or if it is available on the web
that is called Web Service simple so Suppose there is one application okay and there is
another application let's say this is my Google application and this is my Facebook application
and how these two are communicating each other through the API and if this API is available
on the Internet or if this ABA is available on the web then these two applications will able
to communicate so once you place this API in the internet that is called as a web service simple
so when you keep this API inside this internet and everyone able to access that API that is basically
called as a web service that means what all web services or EPS only all web services are apis
but all apis are not web services because until unless we keep this in the internet
we cannot say that as a web service and without having internet also we can create our apis we can
test our APS on your local system so internet is not required for Designing and development or EPs
and testing apis internet is not required okay and once you conduct the testing and once everything
is working fine then we will move it on the production environment and we make that available
that AP is available for the public and that time we will call them as a web service so web service
and APA technically they are same technically they are same but once you put this API in the
internet that is called as a web service okay so at the time of development and testing apis will
not be there in the production let's say developer develop some API and uh development is happening
and then testing will happen and while developing and testing the apis we no need in Internet
okay so they are not available for the public so far they are developing and
testing in internally within the company so we can call them just APS just APS which will take
the request and which will give some response okay and at the time of development and testing
we call them as a APS even internet is also not required but once the development and testing is
completed once the AP is working fine then we will make this apis available in the internet
because other applications also can use these apis just like Google Map Google Maps are
designed developed by the Google they have tested it and after testing what they have done they have
make available those apis to the public so that we are able to access it so that is web service
so as soon as this apis developed and tested once they move to the production and make it
available for the Public Public is able to access these apis then which is called as a web service
okay only simple difference a web service that means what all web services are what apis
but all apis are not web services until unless we move them into the production until unless we
move them into the internet we can't call them as a web service it is just an API
clear everyone the difference between API and web service so at the time of development and testing
we just call as API we should not say that is a web service and once it is developed and tested
once they moved into the internet and which is available for the public to access then we call
them as a web service once they move into the web environment which is called as a web service
okay so all web services are basically apis but not all apis are web service
when when this APA become web service once they moved into production once they moved
into the internet once they available for the public then we can call them as
a web service until then they are just APS not web services [Music]
so guys is it clear the difference between API and web service most important interview question
difference between AP and web server please respond in the chart Window Guys
okay now let us see the next one so types of apis we discussed and also the different types
like APN web service so web service and API wrapped in HTTP internally they will
use HTTP protocol and all web services are API but apis are not web services
remember this point and when APS have become web service once we move the aps into production or
in web environment once we make available them to the public then they become the web service
so a web service needs a network while API doesn't need any network for its operation
we can test the EPS without internet also in the locally also we can test the aps
and once they move into the production and web then we can access the apis through internet
okay so this is the basic difference between API and web service now let us try to understand
more about rest apis so we are going to discuss more on rest apis but not soap apis
okay so what is rest API so rest APA is one of the type type of the rest API so in the rest API
basically uh will take the request from the user or client and we will the same request will send
to the server and server will process the data phase the data and same response will be given
to the customer so how exactly rest AP works so rest AP is having different type of methods guys
okay so rest API methods so these methods normally we use like we have a get method we have a post
method we have a put method we have a delete method and there are so many other methods also
there but mainly we will use only four methods get the post put and delete methods what are
those methods means they are rest API methods or we can also call as a request HTTP request
it should be a request see whatever you do on the web whatever application you are accessing
whatever transaction you're doing all the transactions all the operations will comes under
at least one type of request okay for example you are browsing the google.com Okay so you're opening
the google.com here when you're sending google.com when you press enter normally what type of request
it will go to the server it will go to server and get the response so basically it will send a get
request so what exactly we are doing is we are trying to get some data from the google.com so
here we are requesting something from the Google so when you type something here what we are doing
exactly we are requesting something related to this keyword requesting some data from the Google
that means we are sending the get request get this nothing but what it will send some response to us
okay that's called get request this is one of the requests and then we have a post request
post is nothing but what suppose if you want to create something in the database server okay if
you want to create something sometimes you will create your user you will provide all your first
name last name email phone number everything and when you submit it what will happen the same data
will be stored in the database but you will not get any response you are just sending the data
to the database and that is called as a post request so get request is nothing but what we
will get the response from the server and post request is nothing but what we are sending our
data to the server to store okay we are sending our data to the server which will store that is
happen through post request suppose I already have some data in my database on server I want
to update the data I want to edit the data then we can send a put request so put is another type of
request through which we will able to update existing data in the database app and delete
is nothing but what we can delete the data from the database so for four different type
of operations we will use four different type of rest API methods get to post put delete so these
four all called HTTP request method so through browser whatever the request you are sending
that should comes under either get request or a post request or put request or delete request
it will comes under one of the requests so rest API will support these type of request so one is
get request post request put patch delete and so many other things are there main light categories
just four types of requests similarly in the response what the response contains the response
contains some status code data so many things are there we will do certain valuations on the
response that means we are required we are passing some requests to the API AP will provide some
response and then we do some validations on the response that's how APA testing will be conducted
so first of all we have to know what is the functionality of API what kind of input we
have to pass to the API and then we will try to understand what kind of response it should return
or what kind of response you should provide to the user and once you know the request and response
then we can test the API so before testing API you have to know the functionality of the API
the functionality of the API what exactly the API will do what is the purpose of API why it
is designed of input it will take what type of request it will accept what kind of response it
will provide and what is the content which we have to test in the response so these things we need
to First analyze before it doing APA testing so in API testing we have mainly four methods
get to post put and delete and what's the use of this get if you want to receive some information
from the database right so then we will send the get request so receive information about
an API resource and similarly create an API if you want to create something something in the database
then we will use a post request or if you want to update anything in the database then we will
use put request or if you want to delete something in the database then we will use a delete request
so get to post put delete these are the four different type of requests supported in rest API
only through request through these type of requests we will use apis
and we will validate apis and then HTTP and https and this is another important thing which we
need to understand HTTP is based HTTP and https hypertext transfer protocol hypertext transfer
protocols more secure these two are different type of protocols used by web applications
web applications in essence internally ABS also will use these protocols
to communicate between their client and the server so what is the difference between HTTP and https
https is a more secure communication will happen suppose when you're sending the data through the
client application to the server your data will be transferred as it is in the original format
so if your data is passing through the network in the original format there is a chance of hacking
the data so they are not more secure but if your web application is using https and that data is
more secure so when you're sending some request or data which will be converted into encrypted format
and throughout the network the data will be transported through encrypted format and then it
will reaches to the server again their deprecation will happen and process will happen so basically
the data is communicating or data is transforming through the network in the encrypted format
and that is more secure sometimes when you're browsing some web pages also you can see his
sleepy and his deepest protocol so you can see HTTP is nothing but water okay here you can see
so you can just copy this so you can just ping any website it will show you some HTTP or https
see here let me just type something and say google.com I'm opening so this is the page
I'm opening you can see here this is a page I have opened now if I just look at this before
starting the URL you can see something here and if you see htl DPS needs nothing but that website is
more secure okay the data will be sending through encrypted format but if some website you can see
only HTTP that means what the data is sending in the original format they are not secure websites
okay so you need to understand this what is the difference between HTTP and https
and now we need to understand few important terminologies before going to API testing
like you are a URL and URL Ura is nothing but a uniform resource identifier URL is
nothing but uniform resource locator urns uniform resource name so where
exactly these come into picture so we need to understand about the URL let us take this URL
so https colon slash slash google.com articles article there is some URL is there so we
can call this completely as one URL uniform resource locator uniform resource locator this
completely we can call them as URL or Ura uniform resource identifier or uniform resource locator
but again which contains multiple parts so here HTTP or https which is called as a protocol or we
can call them as a scheme and this part is a host google.com or something amazon.com flipkart.com
so that's basically host or we can also call as a domain where exactly our data is present
and rest of this is called as a path so here HTTP or https is called as a protocol
and this part is called a host or domain and rest of the part is called path so in this particular
domain or in this particular host or in this particular server where exactly our data is
present so in the Articles folder in the article name this is called actually resource which is
actually called as a resource in a web application when you ping any URL this is complete URL
so this is one part and this is another part this is another part so actually which one will faces
the data in the server only this one will fetch the data so first it will go to the Articles and
then it will go to article name and wherever the data is here this will be and this data will be
returned from the server okay and this is a path so what is urn means what uniform resource name
actually what is the actual resource here this is the actual resource what is the resource here
resource this is a technical term resource is something which is available in the server
for what we are requesting resource is something which is there in the server which we can request
so when you send some request to the API what API will do AP will send the same request to the
server and in the server whatever we requested that information is there or not and this is
called as a resource so whatever we are requesting for that information is available in the server
right so that is called as a resource so whenever you are sending some request it will try to fetch
the resource and that resource information is also available in this URL this is called resource this
is called resource name uniform resource name you are in we can call them as a URL
okay so what is an end point what is an end point and this is another Point end point end point is
nothing but this part again this path entire thing is comes under the end point other than
this host other than the host okay so other than this host whatever the rest of thing is there that
is called N Point okay that's called end point okay so other than here till here we are Host
this is server actual data will be stored and from this rest of thing whatever is there that's called
end point and end point is also include path URL and then uh resource okay resources also
this is actually a resource and this is a path and both combinedly we can call as a endpoint
okay so the terminology is most important which we need to understand
and next one uh resource and normally in the web application testing we call
it as a feature right feature is nothing but water is a functionality it is a term used in
manual testing to test some functionality and similar similarly resource is the term used in
AP automation testing referring some functionality resource is nothing but something is there in the
server and we are able to access it that's called a resource and then next terminology is a payload
because these terminal loss is most important while performing API testing is okay you have
to learn you have to understand this payload what is payload payload is nothing but the data
which we are sending along with the request and also the data which is coming along with
the response both are called payload request payload and response period suppose let us
say I have a flight booking application okay so let's say I have one flight booking application
and in the flight booking application I will provide my data right I will provide my name
right and source and destination place and date I will provide some data when you booking a flight
so we we are with this particular data and this is called as a request payload
this is called as a request payload and once you send this we will get some response Right Flight
is booked or not with confirmation and a Time availability all the information we will get
as a response and that is called as a response payload response payload means what the payload
is nothing but a data payload is nothing but a data and the data which is sending through request
which is called as a request payload the data which is coming through response which is called
as a response payload okay we use these terms very very frequently in API testing please listen this
and the next one is here you can just look at this picture to understand more so let us say consumer
and producer consumer is nothing but what whoever is sending the requester they are all consumers or
we can call them as a client and when you send a request and these are the different things we
will pass like you are a headers a payload and this payload can be in Json format or XML format
we can pass and once the server is received that request EP is received the request and sent to the
database and corresponding HTTP method will be done like it can be posed get put or delete and
we'll get the response again when you're getting the response we will also get some data along with
the response and that is called response payload like status code and some response data some
string a message you will get something out of the response and that is called response payload
okay so this is important thing and then so a few more important things so whenever you
perform APA testing what we're getting API URL or endpoint so you need both okay URL is nothing
but a complete path okay the complete thing is called url url is nothing but what the complete
URL you are requesting right this is complete thing is called URL what is an end point this
part is called end point this part is called end point so when you're performing the API testing
you will get all these end points from the developer okay and where exactly the data
is hosted and based on that this will be change the hostname can be changed
okay suppose the apis are deployed in some machine some X then the hostname will be X
and if the apis are deployed in y in some other server then this hostname will be different
but the end points will not be changed the endpoints will not be changed so when you do
APA testing we have to know the end points which are provided by the developers and also they will
provide the location where exactly the apas are deployed accordingly this URL will be changed
and when you're sending the request when you're sending the get request or post request we will
have to send this complete URL along with the end point we have to Center only end point is
not enough when you're sending the real request to the API but at the time of writing the test
cases and getting the information developer so they will provide only the end points and then
we will use these endpoints along with the host and that will make completely appear request
okay so this is a basic understanding now I'm going to show you few simple and very sample apis
how exactly these apis will work and there are so many websites are there they will provide so many
types of apis and we can do some kind of testing on those apis so Ura and URL are the different on
same both are same so you are a some people are called Ura uniform resource identifier and some
people are called uniform resource locator okay so the terminology is used by different people
in the different purposes you can consider the entire thing as a URI URL or some people will
consider only some part is called Ura so some people will consider only this part is Ura so
that's the reason I put both the points so this part is called as a Ura some people will consider
and some people will consider the entire thing as a URI except this protocol remove this protocol
rest of them is considered as a URI okay so the terminology you have to just understand theatrical
differences not important but you need to just understand mainly URL and then uh end point as
I said end point right end point is different URL or Ura you can consider as the same and end
point is most important because URL Ura can be changed but the end point will not be changed
okay so guys are you clear so far everyone so this is the basic understanding what exactly
API how exactly AP works and what API will do and what's the purpose of an API okay I will
show you now few important apis few sample apis and then we will try to understand few things
and let's go to Google Just a second okay so here we have a sample API just a second
and request response dot in so this is provided some sample apis just for practicing purpose and
we will do so many other EPS also so just for your understanding I'm just going to
show you a few number of apis here so you can just look at this these are different type of
apis they have provided here okay so these are the different apis they have provided
and you can just look at this get there are so many gets are there post put patch
delete right different type of requests are there and you can just look at this
this is a request and this is a response okay suppose the first TP what's the purpose of the
first EP here is list users okay listy users when you send this request it will list out all the
users which are available in the database I'm just clicking on the get here see this I'm just
clicking on the getter as soon as you're clicking on the get what happens this is a request actually
sent to the server okay this is a request which is actually sent to the server and this is a
response we got 200 is a response we got and this is a response data in the Json formatter
okay so most of the times we use Json as a request and response in the next sessions I will discuss
more about Json so these are response data so uh user's email ID user first name last name
Avatar so this is this is the information we got it from the server when you send the get requester
okay this is called payload yes and the same request we can directly send so for example this
is a host actually okay this is the host see here so this is a host okay and what is a end
point this is the end point this is the end point so this is the end point let me just copy this
okay so this is the end point let me copy and just I'm adding the end point to the URL here okay
and this is a complete URL guys okay now if you send this request directly browser like this you
can also get the response now we can see this is the response but here they have given inbuilt
options here to send a get request put request post requests and so on and whenever you click
on this button corresponder request will go and we will get the response so whatever response you
captured here the same response we also captured here same response okay this is how we need to
send the a b request this is a get request so there's a reason we got the data and similarly let
me send one more suppose I want to get the single user data from the database so I'm sending the get
so you don't need to confuse anything guys for now you can just consider URL URI is the same
okay no confusion you can consider as a shape URL URI is the same okay
no confusion that's not much important actually okay so when you click on the get request this
time second one I'm getting the data of the single user single user data I got now this time what is
the request it is an API slash user Slash 2 and this is now we got the response to 200 200 is
nothing but what successful request if the request is successfully done then you will get the 200.
and we also have different response codes like 200 201 401 501 different type of responses codes
we have based on that we can decide whether the request is successfully completed or not
so now with the same request I want to test through my browser how we can test again same
host I can put here first okay same host and what is the end point to get the single user
what is the end point to get the single user this is the end point APA slash users slash
to apa slash users slash two so I can say APA slash users slash two so when I say two here
I'll get the information about the second user so let me just copy and send that in the browser
so even through browser also we can send the request and we can get the response from the
API but everything is not possible through browser only get three is possible get request is possible
through browser but when you do Post request or delete request or put request through browser it
is not possible okay we have to use different tools like Postman so here only get request
is possible through browser so I'm sending the complete URL here then I got the information of
the single user so when it says send to here I got the id2 here so I got the user information
second user information suppose I want to get the third user information I can say three here
then I got the third user information okay so I'm sending some request and then I got some response
from the eapi that is also get request now let us see one more type of request so let us say
this is single user not found and here this is also get request list of resources and single
resources and post requester create means what it will go and create a new user in the database for
that we will use post request and suppose the user is already available now I want to update
then I can use put requester and Patch is also for updater and delete request suppose user is
already there then I want to delete the user then I can send a delete request so different purposes
we can send different type of request but only through browser get requests are possible post
request put request delete request these things are not possible through browser
we have to use some other tools so that's the reason we cannot use here okay payload is nothing
but a the data which we will send through the requester okay payload is nothing but the data
which will send through request and will get some data from the response also right that's a payload
for example I'm sending the get request here are you sending any payload along with this request
guys please respond are we sending any payload with this requester payload are
we sending any payload to this request no we are not sending any payloader but uh once you send
this request are we getting some response here yes we are getting some response data
right this is called payloader response payload response payload sometimes you will send post
the post request here click on the poster when you're sending the post request okay we
have to send some data also what is the use of post request which will create a new record in
the database which will create a new record in the server and what is the details of that new
record we have to pass like if we pass a name and a job accordingly it will create a new record in
the database so this is called request payload along with this request URL we should also send
some data this is called as a request payload and this is a response payload once you requested to
create this data it is created exactly this time and it is also given some response to us
okay so payload is nothing but a data request payload is nothing but what the data which is
sending through request along with the request which is called as a request payload the data
which is getting from the response which is called as a response payload simple
okay so these are all sample apis they have given and uh
and the host is already here so we're just given some end points here and we can just export this
API directly here when you click on this get here and when you send this resource now I
got some response here this is also get request and suppose when you send it post request click
on post here and now this name and job is sent through this request and we got some response here
with the same name and job and with the uh some created it suppose I want to delete some request
so then go to the delete here and now here we need to pass some delete which one is deleted
we pass to we will not get any response data here because the data is got deleted the record is got
deleted the response is what two zero four is a response so some type of request we have to send
payload and some type of request we don't need to send any payload so 2 0 is 4 is nothing but
a no content yes that record the second record is not there in the database so it is giving some no
content because these are all some dumb dummy APS they may not take proper data they may not
give proper records or proper response and from tomorrow I will show you the different type of
APs which are real apis exactly we are going to test okay and these are some dummy AP just
for your understanding I'm just showing you these apis a different type of request and get request
we can also send through browser also but post request put request delete request these type of
requests we cannot send so you need to understand one important thing guys whenever you test an API
okay whenever you test an API we have to pass some request we have to pass some input let us take any
API we need to pass some request and we will get some response and as part of the request what you
will pass you will pass the data and you will pass the URL sometimes you will pass some keys some
class sometimes you will pass some authenticated information lot of things we have to send two
requests sometimes but every APA may not require everything but sometimes we have to pass something
regarding this along with the request and whenever you get some response we will get some response
data we will get some response status code and we will get some cookies we will get some headers
response so many things we will get as part of the response so we need to validate all the stuff and
that is part of your API testing so as a job as an APA tester job what is our responsibility we have
to know what kind of request we have to send to the API we have to know what kind of response it
should return and accordingly we have to test the response we do a lot of variations on the
response and that is what APA testing means that's what API testing means later the Apes testing is
completed then this AP is integrated with the web application now this Webby application will
interact with the API now whatever transactions will do this web the everything will happen
through APA so basically whatever the operations we'll do on the web these operations will go
to AP in the form of request and the API will return the response uh APA will return the data
to the web in the form of responsor so instead of testing this web if you directly test this API by
sending request and response our API testing job is done so this is what exactly API testing means
so guys understood now there are so many apas are exposed from different type of companies
like we have Google Maps API we have uh Facebook apis and also we have LinkedIn apis so git GitHub
apis so there are many types of apis some of them are freely we can access some of them or require
some authentication information and some of them we cannot directly access because they are more
sensitive epas the companies they will use their internally purpose so all payment Gateway is also
APS so when you do some kind of payment it will show you different payment options like you pay
payment net banking credit card debit card right there internally having their own apis so when you
select the internet banking option it will trigger some type of API and when you use payment option
is UPI then that will trigger another type of API right everything is happen only through apis but
as a user we cannot see those apis internally once it is integrated but at the time of testing we are
able to access the apis which are developed by the developers and then we are able to test them
okay so this is all about introduction part like what is an API testing what is client server or
Texture and uh what is exactly API testing means what how API Works what are the different type of
requests right so these things we have understood as part of indirect sensation in the next session
we will try to install Postman tool and then we will start manual testing of apis
okay so that's the plan so is it clear everyone on today's session so I'll
stop here for today's session and if you have any general things we will discuss
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.