API Testing Lecture Notes Katraj 11th March 2023
API Testing Lecture Notes Katraj 11th March 2023
API Testing Lecture Notes Katraj 11th March 2023
Agenda:
- What is Web Service?
- Basic Concept behind web service
- Why we use it?
- Why to test it?
Project Application:
- Front End(UI)
- Backend(Database)
- Service(API’s)
Web Service:
Waiter (API)
Web Service:
What is API?
Request
Response
Medium: HTTP
Format/language: XML/JSON
09/06/2023:
SOAP Webservice:
<definitions>:
<types>:
- WSDL <types> element takes care of defining the data types that are used by the web
service
- WSDL allows types to be defined in separate elements so that the types are reusable.
<message>:
- The <message> element describes the data being exchanged between the web service
provider and the consumer
- Each Web Service has two message: Input and Output
<portType>:
- <portType> can combine one request and one response message into single request
response operation
- A port Type can define multiple operations
<binding>:
http://www.dneonline.com/calculator.asmx?WSDL
https://ws.footballpool.dataaccess.eu/info.wso?WSDL
WSDL WSDL
UDDI
WSDL WSDL
Envelope :( Mandatory)
- The SOAP envelope indicates the start and end of the message so that the receiver knows
when an entire message has transmitted
- The SOAP Envelope solves the problem of knowing when you are done receiving a
message and are ready to process it.
- Every SOAP Message has a root Envelope Element
- Envelope element is mandatory part of SOAP Message.
Header :( Optional)
- Contains any optional attributes of the message used in processing the message, either at
an intermediary point or at the ultimate end point
Body: (Mandatory)
Fault: (Optional)
- An optional fault element that provides information about errors that occurred while
processing the message
- When an error occurs during processing, the response to a SOAP message is a SOAP
fault element in the body of the message and the fault is returned to the sender of the
SOAP Message.
SOAP Message:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Add>
<tem:intA>A</tem:intA>
<tem:intB>15</tem:intB>
</tem:Add>
</soapenv:Body>
</soapenv:Envelope>
SOAP Fault:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
at System.Xml.XmlConvert.ToInt32(String s)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1_Add()
at
Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerial
izationReader reader)
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring>
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
12/06/2023:
API Testing-
2 Types Service
1. SOAP service(SOAP UI tool)
2. REST service(SOAP UI,POSTMAN)
Request
https://www.soapui.org/downloads/soapui/
Test Cases:
1. Validating response
2. Validating Data and count of data in response
3. Validating Tagname/Attributes presents in responses
4. Validating Status code in responses
5. Validating Time taken for responses
6. Applying Assertion for verification
7. Functionality(Re-Testing)
8. NEGATIVE test cases !
Execution:
1. Validating SOAP Response=Pass
QA/Dev Env(Individually)=>It will be merged to the env where you all code resides==>Regression(To
make sure existing functionality is working as expected)
13/06/2023:
7.1 Verify the SOAP Service by passing one digit numbersEC (Expected) =One digit numbers
should be added=Pass
7.2 Verify the SOAP Service by passing two digit numbersEC=two digit numbers should be
added=Pass
7.3 Verify the SOAP Service by passing Three digit numbersEC=Three digit numbers should
be added=Pass
7.4 Verify the SOAP Service by passing Four/Five digit numbersEC=Four/Five digit numbers
should be added=Pass
7.5 Verify the SOAP Service by passing one digit number at 1st place and two digit numbers at
2nd placeEC= one digit number at 1st place and two digit numbers at 2nd place should be
added=Pass
7.6 Verify the SOAP Service by passing zero numbersEC=should be added=Pass
8.3 Verify by passing the values beyond integer rangeEC=Should not be added=Pass
8.4 Verify the SOAP Service by passing Null/Blank valuesEC=Should not be added=Pass
14/06/2023:
Xpath Assertion:
- Xpath is a Query language for selecting nodes(tag names) from an XML document
- To find something is present in the response
- Xpath can also be used to compute values from the content of an XML document.
Ex: https://ws.footballpool.dataaccess.eu/info.wso?WSDL
Count:
Matches:
Request Headers:
Query Parameters:
Request Body:
Response Attributes/tagnames:
Response Examle:
{
"page": 2,
"per_page": 6,
"total": 12,
"total_pages": 2,
"data": [
"id": 7,
"email": "michael.lawson@reqres.in",
"first_name": "Michael",
"last_name": "Lawson",
},
"id": 8,
"email": "lindsay.ferguson@reqres.in",
"first_name": "Lindsay",
"last_name": "Ferguson",
"avatar": "https://reqres.in/img/faces/8-image.jpg"
},
"id": 9,
"email": "tobias.funke@reqres.in",
"first_name": "Tobias",
"last_name": "Funke",
"avatar": "https://reqres.in/img/faces/9-image.jpg"
},
"id": 10,
"email": "byron.fields@reqres.in",
"first_name": "Byron",
"last_name": "Fields",
"avatar": "https://reqres.in/img/faces/10-image.jpg"
},
"id": 11,
"email": "george.edwards@reqres.in",
"first_name": "George",
"last_name": "Edwards",
"avatar": "https://reqres.in/img/faces/11-image.jpg"
},
"id": 12,
"email": "rachel.howell@reqres.in",
"first_name": "Rachel",
"last_name": "Howell",
"avatar": "https://reqres.in/img/faces/12-image.jpg"
],
"support": {
"url": "https://reqres.in/#support-heading",
"text": "To keep ReqRes free, contributions towards server costs are appreciated!"
}
}
Sample Response:
"page": 2,
"per_page": 6,
"total": 12,
"total_pages": 2,
"data": [
"id": 7,
"email": "michael.lawson@reqres.in",
"first_name": "Michael",
"last_name": "Lawson",
},
"id": 8,
"email": "lindsay.ferguson@reqres.in",
"first_name": "Lindsay",
"last_name": "Ferguson",
"avatar": "https://reqres.in/img/faces/8-image.jpg"
},
{
"id": 9,
"email": "tobias.funke@reqres.in",
"first_name": "Tobias",
"last_name": "Funke",
"avatar": "https://reqres.in/img/faces/9-image.jpg"
},
"id": 10,
"email": "byron.fields@reqres.in",
"first_name": "Byron",
"last_name": "Fields",
"avatar": "https://reqres.in/img/faces/10-image.jpg"
},
"id": 11,
"email": "george.edwards@reqres.in",
"first_name": "George",
"last_name": "Edwards",
"avatar": "https://reqres.in/img/faces/11-image.jpg"
},
"id": 12,
"email": "rachel.howell@reqres.in",
"first_name": "Rachel",
"last_name": "Howell",
"avatar": "https://reqres.in/img/faces/12-image.jpg"
],
"support": {
"url": "https://reqres.in/#support-heading",
"text": "To keep ReqRes free, contributions towards server costs are appreciated!"
}
}
19/06/2023:
{
"page": 2,
"per_page": 6,
"total": 12,
"total_pages": 2,
"data": [
{
"id": 7,
"email": "michael.lawson@reqres.in",
"first_name": "Michael",
"last_name": "Lawson",
"avatar": "https://reqres.in/img/faces/7-
image.jpg"
},
{
"id": 8,
"email": "lindsay.ferguson@reqres.in",
"first_name": "Lindsay",
"last_name": "Ferguson",
"avatar": "https://reqres.in/img/faces/8-
image.jpg"
},
{
"id": 9,
"email": "tobias.funke@reqres.in",
"first_name": "Tobias",
"last_name": "Funke",
"avatar": "https://reqres.in/img/faces/9-
image.jpg"
},
{
"id": 10,
"email": "byron.fields@reqres.in",
"first_name": "Byron",
"last_name": "Fields",
"avatar": "https://reqres.in/img/faces/10-
image.jpg"
},
{
"id": 11,
"email": "george.edwards@reqres.in",
"first_name": "George",
"last_name": "Edwards",
"avatar": "https://reqres.in/img/faces/11-
image.jpg"
},
{
"id": 12,
"email": "rachel.howell@reqres.in",
"first_name": "Rachel",
"last_name": "Howell",
"avatar": "https://reqres.in/img/faces/12-
image.jpg"
}
],
"support": {
"url": "https://reqres.in/#support-heading",
"text": "To keep ReqRes free, contributions towa
rds server costs are appreciated!"
}
}
20/06/2023:
7.3 Verify by Passing parameter as 3 in GET Method=>EC=Status Code-200-OK & GET Method will show
the response=Pass
7.4 Verify by Passing parameter as 10/100/1000 in GET Method=>EC=Status Code-200-OK & GET
Method will show the response=Pass
8. Validating Negative Test Cases!
8.1 Verify by Passing parameter as a decimal values in GET Method=>EC=Status Code-400-Bad Request
& GET Method will not show the response=Fail-Defect
8.2 Verify by Passing parameter as Null/Blank Values in GET Method=>EC=Status Code-400-Bad Request
& GET Method will not show the response=Fail-Defect
8.3 Verify by Passing parameter as a Character/String Values in GET Method=>EC=Status Code-400-Bad
Request & GET Method will not show the response= Fail-Defect
8.4 Verify by passing WRONG URL/URI in GET Method=> EC=Status Code-404-Not Found & GET Method
will not show the response=Pass
8.5 Verify by Passing wrong Authorization/Bearer Token/API Key in GET Method=>EC=Status Code-401-
Un-Authorization & GET Method will not show the response.
8.6 Verify by changing GET Method into another Method=>EC=Status Code-405-Method Not Allowed &
GET Method will not show the response=Fail-Defect
This method will register existing users and set password for them
Request Headers:
Query Parameters:
This operation do not require query parameters.
Request Body:
{
"email": "eve.holt@reqres.in",
"password": "pistol"
}
Response Attributes/tagnames:
token String
Response Examle:
{
"id": 4,
"token": "QpwL5tke4Pnpja7X4"
POST Method/Request:
POST Method Service-URL/URI= https://reqres.in/api/register
Body/Payload-
"email": "eve.holt@reqres.in",
"password": "pistol"
}
Username& Password(Basic Auth)/API Key/Bearer token-tcaabfj bjf lekf lklfl
Time taken for the response=5sec
Unit Testing Documents
Sample Response:
"id": 4,
"token": "QpwL5tke4Pnpja7X4"
}
Response Status Code: 200-OK
Test Cases:
7.3 Verify POST method/ request by passing “emma.wong@reqres.in” with password EC=
For these email id password will be inserted in serve=Pass
7.4 Verify POST method/ request by passing “charles.morris@reqres.in” with password EC=
For these email id password will be inserted in serve=Pass
8.2 Verify POST method/ request by passing null/blank email id EC= 400-Bad request=Pass
8.3 Verify POST method/ request by passing only email id “rachel.howell@reqres.in” without
password EC= 400-Bad request=Pass
8.5 Verify POST method/ request by passing valid id (id= 1) with password EC= 400-Bad
request=Pass
8.6 Verify POST method/ request by passing wrong URL/URI EC= 404-Not found=Pass
8.7 Verify POST method/ request by passing wrong authorization/ API Key/ barrier token
EC= 401-Un- authorization
8.8 Verify by changing POST method/ request into another method/ request EC= 405-Not
method=Fail-Defect
21/06/2023:
Resource: /maps/api/place/add/json
Sample Body :
{
"location": {
"lat": -38.383494,
"lng": 33.427362
},
"accuracy": 50,
"name": "Frontline house",
"phone_number": "(+91) 983 893 3937",
"address": "29, side layout, cohen 09",
"types": [
"shoe park",
"shop"
],
"website": "http://google.com",
"language": "French-IN"
}
Sample Response:
{
"status": "OK",
"place_id": "928b51f64aed18713b0d164d9be8d67f",
"scope": "APP",
"reference": "736f3c9bec384af62a184a1936d42bb0736f3c9bec384af62a184a1936d42bb0",
"id": "736f3c9bec384af62a184a1936d42bb0"}
Complete URL :
http://rahulshettyacademy.com/maps/api/place/get/json?place_id=xxxx&key=qaclick123
Resource: /maps/api/place/get/json
Query Parameters: key, place_id //( place_id value comes from Add place(POST) response)
"location":{
"lat" : -38.383494,
"lng" : 33.427362
},
"accuracy":50,
"name":"Frontline house",
"website" : "http://google.com",
"language" : "French-IN"
Sample Request:
{
"place_id":"8d2573bdf6ceec0e474c5f388fa917fb",
"address":"70 Summer walk, USA",
"key":"qaclick123"
"location":{
"lat" : -38.383494,
"lng" : 33.427362
},
"accuracy":50,
"name":"Frontline house",
"phone_number":"(+91) 983 893 3937",
"address" : "29, side layout, cohen 09",
"types": ["shoe park","shop"],
"website" : "http://google.com",
"language" : "French-IN"
Complete URL:
https://rahulshettyacademy.com/maps/api/place/delete/json?key=qaclick123
Real API:
1. Verify the Weather API for Pune City =>EC=Weather Information should return and Status Code=200-
OK= Pass
2. Verify the Weather API for Mumbai City=>EC=Weather Information should return and Status
Code=200-OK= Pass
3. Verify the Weather API for Nasik City=>EC=Weather Information should return and Status Code=200-
OK=Pass
4. Verify the Weather API for Delhi City of Delhi=>EC=Weather Information should return and Status
Code=200-OK= Pass
5. Verify the Weather API for Goa City of Goa=>EC=Weather Information should return and Status
Code=200-OK=Pass
6. Verify the Weather API for Deoni Village of Maharashtra=>EC=Weather Information should not return
and Status Code=404-Not Found= Pass
8. Verify the Weather API for Null/Blank city name=>EC=Weather Information should not return and
Status Code=400-Bad Request=Pass
9. Verify the Weather API by passing Country name=>EC=Weather Information should not return and
Status Code=400-Bad Request= Fail-Defect
10. Verify the Weather API by passing Invalid City/State Name=>EC=Weather Information should not
return and Status Code=404-Not Found= Pass
11. Verify the Weather API by passing Invalid URL/URI=>EC=Weather Information should not return and
Status Code=404=Pass
12. Verify the Weather API by passing Invalid API Key=>EC=Weather Information should not return and
Status Code=401-Un-Authorization=Pass
How to Run Collection?
How will you skip any methods in collection?
Miscelleneous:
Variables :(POSTMAN)
2 Types: Global Variables & Environment Variable (Local Variable)
Variables enable you to store and reuse values in your requests and scripts. By storing a value in a
variable, you can reference it throughout your collections, environments, and requests. If you need
to update the value, you only have to change it in one place.
Global variables enable you to access data between collections, requests, test scripts, and
environments. Global variables are available throughout a workspace.
Environment variables enable you to tailor your processing to different environments, for
example local development versus testing or production. Only one environment can be active at a
time.
How to Add Environments?
22/06/2023:
Get data from response of one API and refer it in Another API
Create new Collection and Add one GET Method: List Users-Gives list of users in the response
URL/URI: https://reqres.in/api/users?page=2
URL/URI: https://reqres.in/api/users/2
Body/Payload: Give the below details in body-> raw-Select JSON from dropdown
"name": "morpheus",
"job": "zion resident"
}
Save and Send
Go to new-Add Environment---APIChaining
"name": "{{Username}}",
"job": "zion resident"
}
Send request and Make Sure you are using Mentioned Environment above
Step 3: Add Script to fetch value from response from 1st API
Go to Tests=>>>
bodyData=JSON.parse(responseBody)
value=bodyData.data[0].first_name
console.log(value)
pm.environment.set("Username", value);
nd
Note: The value is nothing but the value which we are getting and we will be using in 2
request.
pm.environment.set("Username", value);This statement is setting Environment Variable and the
value of this environment variable is used in second method(PUT)
Step 4: Value coming from response of 1st method will be fetched in 2nd method.
Step 5: Run the second request and Validate now go to Environment and check if the value is correct
Response: 200
Sample Response:
{
"page": 2,
"per_page": 6,
"total": 12,
"total_pages": 2,
"data": [
{
"id": 7,
"email": "michael.lawson@reqres.in",
"first_name": "Michael",
"last_name": "Lawson",
"avatar": "https://reqres.in/img/faces/7-image.jpg"
},
{
"id": 8,
"email": "lindsay.ferguson@reqres.in",
"first_name": "Lindsay",
"last_name": "Ferguson",
"avatar": "https://reqres.in/img/faces/8-image.jpg"
},
{
"id": 9,
"email": "tobias.funke@reqres.in",
"first_name": "Tobias",
"last_name": "Funke",
"avatar": "https://reqres.in/img/faces/9-image.jpg"
},
{
"id": 10,
"email": "byron.fields@reqres.in",
"first_name": "Byron",
"last_name": "Fields",
"avatar": "https://reqres.in/img/faces/10-image.jpg"
},
{
"id": 11,
"email": "george.edwards@reqres.in",
"first_name": "George",
"last_name": "Edwards",
"avatar": "https://reqres.in/img/faces/11-image.jpg"
},
{
"id": 12,
"email": "rachel.howell@reqres.in",
"first_name": "Rachel",
"last_name": "Howell",
"avatar": "https://reqres.in/img/faces/12-image.jpg"
}
],
"support": {
"url": "https://reqres.in/#support-heading",
"text": "To keep ReqRes free, contributions towards server costs are appreciated!"
}
}
Test Cases:
1. Validating the REST Response=Pass
2. Validating data and count of data present in the REST response=Pass
7.1 Verify by passing parameter as 1 in GET MethodEC=Status Code-200-OK & GET Method will show
response=Pass
7.2 Verify by passing parameter as 2 in GET MethodEC=Status Code-200-OK & GET Method will show
response=Pass
7.3 Verify by passing parameter as 3 in GET MethodEC=Status Code-200-OK & GET Method will show
response=Pass
8.2 Verify by passing parameter as Null/Blank value in GET MethodEC=Status Code-400-Bad Request
& GET Method will not show the response=Fail-Defect
8.3 Verify by passing parameter as Character/String values in GET MethodEC=Status Code-400-Bad
Request & GET Method will not show the response=Fail-Defect
8.4 Verify by passing wrong URL/URI in GET MethodEC=Status Code-404-Not Found & GET Method
will not show the response=Pass
8.5 Verify by Passing wrong Authorization/API Key/Bearer Token/Basic Auth(Username & Password) in
GET MethodEC=Status Code-401-UnAuthorized & GET Method will not show the response=
8.6 Verify by changing GET Method into another methodEC=Status Code-405-Not Allowed & We will
not get Response=Pass
REST Terminologies:
HTTP Methods which are commonly used to communicate with REST API‟s are: GET, POST,
PUT, PATCH, DELETE
GET: The GET is used to extract information from the given server using a given URI.While
using GET request, it should only extract data and should have no other effect on data.No
Payload/Body required.
POST: A post request is used to send data to the server, for example,Customer information,File
Upload,etc using HTML forms.
23/06/2023:
Resources:
Path Parameters: are variable parts of the URL Path.They are typically used to point to a
specific resource within a collection,such as user identified by ID
https://www.google.com/images/1123343
https://www.google.com/docs/1123343
https://www.amazon.com/orders/112
Query Parameters:
https://www.amazon.com/orders?sort_by=2/20/2022
URI=Base URL/Resource/(Query/Path)Parameters
"email": "eve.holt@reqres.in",
"password": "pistol"
}
Username& Password/API Key/Barrier Token-dasdakfkfbfsas
Time taken for the response=60secs
Unit testing documents
JSON Object:
JSON object literals are surrounded by curly braces {}.
JSON object literals contains key/value pairs.
Keys and values are separated by a colon.
"name": "morpheus",
"job": "leader"
{
"name": "morpheus",
"job": "zion resident"
}
Ex: https://reqres.in/api/users/2
Sample Response:
"data": {
"id": 2,
"email": "janet.weaver@reqres.in",
"first_name": "Janet",
"last_name": "Weaver",
"avatar": "https://reqres.in/img/faces/2-image.jpg"
},
"support": {
"url": "https://reqres.in/#support-heading",
"text": "To keep ReqRes free, contributions towards server costs are appreciated!"
}
}
Status Code: 200-OK
JSON Path Existence Match:
JSON Path Match:
What is idempotent?
Idem potency means that multiple identical requests will have the same outcome. So it does not matter
if a request is sent once or multiple times. The following HTTP methods are idempotent: GET, HEAD,
OPTIONS, TRACE, PUT and DELETE
PUT Patch
HTTP PUT is said to be idempotent, So if you HTTP PATCH is basically said to be non-
send retry a request multiple times, that idempotent. So if you retry the request N
should be equivalent to a single request times, you will end up having N resources
modification with N different URIs created on the server.
Questions-
5. What are different type of method as GET, POST, PUT, PATCH, DELETE
9. What is RestAssured?-
Ans - API service then I will use RestAssured library for doing API Automation.
2. In Collection if one requests you want to skip .So how will you do it?
7. Success codes
15. How to construct json body for Put, Post, Patch request.
Websites:
https://reqres.in/
https://gorest.co.in/
----------------------------------------Thank You & ALL THE BEST for Preparations----------------------------------------
Project-Database Testing-
Stk.Contract_info - end user/ investor details will store, CustID, Fname, PAN no., mobile,
Email id, Address, etc
Stk.BOQ_chagre- Brokerage charge
Stk.RDOS table- Buy, Sell stock/share, holding information & Stock name
Stk.ACCTRANS- Transaction related/ order place information- TrasnctionID
Stk.TransDate – Transaction related to bank related date
API Testing-
Kite- Front end / End User API Testing- Services Kite Main Server-
Service Services
Analyst Estimates
Analyst Estimates Graph Values 3 month Buy/ Sell/
Hold data
1. User story- Analyst Estimates values for Stock module form method
Description- Analyst estimation chart will show data for user. User will use for suggestion how
it is stock moving. Take a holistic view of all the weekly/monthly options and their movement
for indices and equities. Real time market movement to help you trade faster with ease.
Extremely easy to use with real time tracking of Profit/Loss. Excellent features to help you trade
easily in any segment you like.
Accept criteria-
1. Estimates values present for NITFY 100 (top 100 in share market)
2. Estimates values generated depending on Buyer & seller – analysis of last 3 month
3. Estimates values is not present for another stock (other than NITFY 100)
4. Estimates values will shows in % format, Tagname- Buy, Sell & Hold
Developer provide-
1. URL/URI- GET method/ Request-
172.10.21.130:8080/kite.com/api/estimate_graph?StockName= TCS
2. API Key- sgfdggdsdfgjhgfgbn
3. Unit Testing – Tables, Screenshot, etc.
{
“StockName” : “TCS”,
“BUY” : “88%”,
“SELL” : “10%”,
“HOLD” : “2%”
}
1. Verify Rest response
2. Verify data and count EC= Data should be comes in only one
3. Verify Tagname present in GET method EC= Get method will shows Tagname as
Buy, Sell and Hold
4. Verify different status code in GET method EC= Get method will shows 200-ok
5. Verify time takes into response GET method EC= Response < 5 sec
6. Verify GET method by passing different Stockname (TCS) EC= Response should
shows data for Buy, Sell & Hold for stockname & Status code = 200-ok
7. Verify GET method by passing different Stockname (HDFC) EC= Response should
shows data for Buy, Sell & Hold for stockname & Status code = 200-ok
8. Verify GET method by passing different Stockname (Coil india) EC= Response
should shows data for Buy, Sell & Hold for stockname & Status code = 200-ok
9. Verify GET method by passing different Stockname (Apllo Hospita) EC= Response
should shows data for Buy, Sell & Hold for stockname & Status code = 200-ok
10. Verify GET method by passing different Stockname (SBI) EC= Response should
shows data for Buy, Sell & Hold for stockname & Status code = 200-ok
11. Verify GET method by passing different Stockname other than NIFFT 100 (IRCTC)
EC= Response should not shows & Status code = 400-Bad request
12. Verify GET method by passing different Stockname other than NIFFT 100 (Trident)
EC= Response should not shows & Status code = 400-Bad request
13. Verify GET method by passing null/blank data EC= Response should not shows &
Status code = 400-Bad request
14. Verify GET method by passing wrong URL/URI EC= Response should not shows &
Status code = 404-Not found
15. Verify GET method by passing wrong API Key EC= Response should not shows &
Status code = 401-Un-authorized
16. Verify by changing method GET method into another method EC= Response should
not shows & Status code = 405-Mentod not allowed