To test response headers of a GET API using Rest Assured, follow these steps:
What are response headers?
Response headers are metadata returned by the server. Examples include:
Content-Type
: Describes the type of the response (example:application/json
)Server
: Information about the serverDate
: Time of the responseContent-Encoding
,Connection
, etc.
Steps to test response headers using Rest Assured:
- Set Base URI using
RestAssured.baseURI
- Send GET Request using
given().get(endpoint)
- Extract Headers from the response
- Verify Specific Headers using assertions
Maven Dependency for Rest Assured
<dependencies> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.3.2</version> <scope>test</scope> </dependency> </dependencies>
Java Code: Get and Test Response Headers
import io.restassured.RestAssured; import io.restassured.response.Response; import io.restassured.http.Headers; import io.restassured.http.Header; public class GetResponseHeaders { public static void main(String[] args) { // Step 1: Set Base URI RestAssured.baseURI = "https://reqres.in/api"; // Step 2: Send GET request Response response = RestAssured .given() .get("/users?page=2"); // Step 3: Print all headers Headers allHeaders = response.getHeaders(); System.out.println("===== All Response Headers ====="); for (Header header : allHeaders) { System.out.println(header.getName() + ": " + header.getValue()); } // Step 4: Get a specific header String contentType = response.getHeader("Content-Type"); String server = response.getHeader("Server"); System.out.println("\nContent-Type: " + contentType); System.out.println("Server: " + server); // Step 5: Validate headers using assertions if (!"application/json; charset=utf-8".equals(contentType)) { throw new AssertionError("Expected Content-Type not found!"); } if (!"cloudflare".equalsIgnoreCase(server)) { throw new AssertionError("Expected Server header value not found!"); } System.out.println("\n Header validations passed successfully!"); } }
Output:
===== All Response Headers ===== Date: Mon, 28 Jul 2025 14:00:00 GMT Content-Type: application/json; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Server: cloudflare ... Content-Type: application/json; charset=utf-8 Server: cloudflare Header validations passed successfully!
Useful Methods in Rest Assured
response.getHeaders()
– Gets all headersresponse.getHeader("Header-Name")
– Gets a specific headerresponse.header("Header-Name")
– Alias forgetHeader
No comments:
Post a Comment