Skip to main content

Day 3: Writing your first test with Rest Assured

Day 2: Setting up Rest Assured Day 3: Writing your first test with Rest Assured

In this topic, we will learn how to create a simple test using Rest Assured. The test will send a request to an API endpoint and verify the response. We will also learn about basic Rest Assured syntax and assertions.


  1. Creating a Simple Test

  2. To create a simple test, we need to first identify an API endpoint that we want to test. We will use the GET method to send a request to this endpoint. We can then use Rest Assured to extract data from the response and perform assertions on it.


    Here is an example code snippet that shows how to create a simple test using Rest Assured:

    
    @Test
    public void testGetUsers() {
        given()
            .when().get("https://myapi.com/users")
            .then().statusCode(200);
    }
    
    


    In this example, we are using the given(), when(), and then() methods to structure our test. We first use given() to set up our request, when() to send the request, and then() to perform assertions on the response. In this case, we are checking that the response has a status code of 200.



  3. Basic Rest Assured Syntax
  4. Rest Assured has a simple and intuitive syntax that allows us to easily set up requests and perform assertions on the response. Here are some basic Rest Assured syntax examples:

    Setting Request Headers:
    
    given()
        .header("Content-Type", "application/json")
    
    
    Setting Query Parameters:
    
    given()
        .queryParam("name", "John")
    
    
    Sending a Request:
    
    when()
        .get("https://myapi.com/users")
    
    
    Performing Assertions:
    
    then()
        .statusCode(200)
        .body("name", equalTo("John"))
    
    
  5. Assertions

Rest Assured provides a variety of assertion methods that we can use to validate our API responses. Here are some commonly used assertion methods:

  • statusCode(int code) - checks the status code of the response
  • body(String path, Matcher(?) matcher) - checks the value of a specific field in the response body
  • contentType(ContentType contentType) - checks the content type of the response
  • header(String name, String value) - checks the value of a specific header in the response

In conclusion, we learned how to create a simple test using Rest Assured, basic Rest Assured syntax, and assertions. These concepts are fundamental to understanding how Rest Assured works and how we can use it to test our APIs.

Comments