Introduction to API Testing
So in this Series of Blog I will discuss all the aspects related to API Testing using Rest Assured-Framework.
So Let’s Get started with basic introduction and terminology that we will be using while testing doing API Testing.
What is Web Applications?
A Web Application is a software application that is deployed to a Web Server. This means the application is installed onto a computer and users access the application via a Web Browser.
The Web Application we will test has an API, which is a way of accessing the application without using a Web Browser or the application’s Graphical User Interface (GUI).
Google Is an Example of a Web Application
Google.com is an example of a Web Application. A user visits google.com in a Browser and the application’s Graphical User Interface (GUI) is displayed in the Browser. The GUI consists of a search input field which the user fills in and then clicks a button to search the Web.
When the user clicks the search button, the Browser makes a request to the Web Application on the Web Server to have the Google Search Application make the search and return the results to the user in the form of a web page with clickable links.
When we first visit Google in a Browser we type in the URL or address for Google. i.e. https://google.com
The Browser then sends a type of HTTP request to Google called a GET request to ‘get’, or retrieve, the main search form. Google Web Application receives the request and replies with an HTTP response containing the HTML of the search page. HTML is the specification for the Web Page so the Browser knows how to display it to the user.
When the user types in a search term and presses the search button. The Browser sends a POST request to Google. The POST request is different from the GET request because it contains the details of the search term that the user wants the Google Web Application to search for.
The Google Web Application then responds with an HTTP response that contains the HTML containing all the search results matching the User’s search term.
What is API?
An API is an Application Programming Interface. This is an interface to an application designed for other computer systems to use. As opposed to a Graphical User Interface (GUI) which is designed for humans to use.
An HTTP based API is often called a Web API since they are used to access Web Applications which are deployed to Servers accessible over the Internet.
Applications which are accessed via HTTP APIs are often called Web Services.
What Is an HTTP Request?
HTTP stands for Hypertext Transfer Protocol and is a way of sending messages to software on another computer over the Internet or over a Network.
An HTTP request is sent to a specific URL and consists of:
• VERB specifying the type of request e.g. GET, POST, PUT, DELETE
• A set of HTTP Headers. The headers specify information such as the type of Browser,
type of content in the message, and what type of response is accepted in return.
• A body, or payload in the request, representing the information sent to, or from, the Web Application. Not all HTTP messages can have payloads: POST and PUT can have payloads, GET and DELETE can not.
What Is a URL?
URL is a Uniform Resource Locator and is the address we use to access websites and web applications.
When working with APIs you will often see this referred to as a URI (Uniform Resource Identifier).
Think of a URI as the generic name for a URL.
What Are HTTP Verbs?
A Web Browser will usually make GET requests and POST requests.
• GET requests ask to read information from the server e.g. clicking on a link.
• POST requests supply information to the server e.g. submitting a form.
GET requests do not have a body, and just consist of the Verb, URL and the Headers.
When Working with Web Application or HTTP API the typical verbs used are :
GET- The GET method 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 the data.
POST- A POST request is used to send data to the server, for example, customer information, file upload, etc. using HTML forms.
PUT- Replaces all current representations of the target resource with the uploaded content.
DELETE- Removes all current representations of the target resource given by a URI.
What Is an HTTP Response?
When you issue an HTTP Request to the server you receive an HTTP Response.
The response from the server tells you if your request was successful, or if there was a problem.
• A status code of 200, which means that the request was successful.
• A Content-Type header of application/json which means that the body is a JSON response.
• A body which contains the actual payload response from the server.
What Is an HTTP Status Code?
Web Services and HTTP APIs use HTTP Status Codes to tell us what happened when the server processed the request.
The simple grouping for HTTP Status Codes is:
• 1xx - Informational
• 2xx - Success e.g. 200 Success
• 3xx - Redirection e.g. 302 Temporary Redirect
• 4xx - Client Error e.g. 400 Bad Request, 404 Not Found
• 5xx - Server Error e.g. 500 Internal Server Error
The type of status code you receive depends on the application you are interacting with.
Usually a 4xx error means that you have done something wrong and a 5xx error means that something has gone wrong with the application server you are interacting with.
Nice
ReplyDeleteThank you :)
ReplyDelete