Using Rest-assured and TestNG
In this post, we will learn to automate REST APIs using Rest-Assured library and TestNG. Rest Assured is a Java library using which we can test and validate the REST web services. Although Rest-assured provides its own validating mechanism(assertions for validating response) but we can combine Rest-assured with TestNG to get the best of both the libraries.
During the course of this tutorial, we will be using the following-
- Sample Rest API to be used in Automation - RestCountries API
- Rest-Assured and its dependencies (https://code.google.com/p/rest-assured/wiki/Downloads) (Remember to download and add to class path, the other dependencies also). POM dependencies for the Rest Assured and its dependencies-
<dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>3.1.1</version> </dependency>
- TestNG as testing framework
Rest API Get Method Automation in Java
In the following example, we are using the Rest-assured library's "get" method to make an HTTP Get request to the restcountries.eu API- http://restcountries.eu/rest/v1/name/{countryName} that fetches the capital of a country. Then we will fetch the response in JSONArray and use TestNG's assert method for validation.