What is the Status Line of an API?
- The status line is the first line of the HTTP response sent by the server.
- It provides three parts:
HTTP Version → Example: HTTP/1.1 or HTTP/2
Status Code → Example: 200, 404, 500
Reason Phrase → Example: OK, Not Found, Internal Server Error
Example of a status line:
HTTP/1.1 200 OK
In this,
- HTTP/1.1 → HTTP protocol version
- 200 → Status code (success)
- OK → Reason phrase
How to Test Status Line of API in Rest Assured
When testing an API’s status line using Rest Assured, you:
- Send the API Request (GET, POST, etc.).
- Extract the Status Line from the response.
- Verify the Status Line against the expected value.
What to Check in Status Line:
- Ensure HTTP version is correct (e.g., HTTP/1.1).
- Ensure status code is as expected (e.g., 200).
- Ensure reason phrase is correct (e.g., OK).
To test the status line of a GET API using Rest Assured in Java, you need to understand what a status line is and how to retrieve it.
Example:
HTTP/1.1 200 OK
Steps to Test Status Line Using Rest Assured
- Set the base URI.
- Use
given()to prepare the request. - Use
.when().get()to make the GET call. - Use
.then().statusLine()to verify the status line. - You can also extract the status line using
.extract().statusLine().
https://reqres.in/api/users?page=2
Maven Dependencies:
<dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.4.0</version> <scope>test</scope> </dependency>
Java Code Using Rest Assured to Test Status Line
import io.restassured.RestAssured; import io.restassured.response.Response; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; public class StatusLineTest { public static void main(String[] args) { // Set base URI RestAssured.baseURI = "https://reqres.in"; // Send GET request and validate status line given() .when() .get("/api/users?page=2") .then() .assertThat() .statusLine("HTTP/1.1 200 OK"); // Validate full status line // Optionally, print the actual status line Response response = get("/api/users?page=2"); String actualStatusLine = response.getStatusLine(); System.out.println("Status Line is: " + actualStatusLine); } }
Code explanation:
1. Set the base URI
2. Send GET API request
3. validate status line
4. Print the actual status line on console
Output:
Status Line is: HTTP/1.1 200 OK
At a glance:
- Use .statusLine("HTTP/1.1 200 OK") to validate the exact status line.
- Use .getStatusLine() to fetch and print it.
- This is useful to ensure your API response is well-formed and meets expectations.
Suggested Posts:
1. Test Form Authentication in RestAssured
2. How to extract Response in Rest Assured by JSONPath
3. Test OAth2 in RestAssured
4. How to Test SOAP API by RestAssured
5. How to Test Basic Authentication in RestAssured
No comments:
Post a Comment