This is my second post about doing Automation of REST API Testing, few days back I write the post to do REST API Testing using Frisby.js ( a Javascript tool), today i will post about how to do this in JAVA using REST-assured API.
Installation
Please down and put following JAR files in your build path.
rest-assured
json-schema-validator
Test Case.
For this demo purpose, I am going to use freegeoip.net site which return simple JSON response.
steps:
1. visit http://freegeoip.net:80/json/yahoo.com site
verification:
1. verify that it returns 200 OK
2. verify it return correct JSON
Test Script.
/**
* @author Gaurang_Shah
*
*/
//import com.jayway.restassured.RestAssured;
import static com.jayway.restassured.RestAssured.baseURI;
import static com.jayway.restassured.RestAssured.given;
import static com.jayway.restassured.RestAssured.useRelaxedHTTPSValidation;
import static com.jayway.restassured.RestAssured.when;
import static org.hamcrest.Matchers.equalTo;
import org.junit.Test;
import com.jayway.restassured.authentication.FormAuthConfig;
public class TestATP {
@Test
public void testDemo(){
baseURI="http://freegeoip.net:80/";
when().
get("/json/yahoo.com").
then().
assertThat().statusCode(200).
log().all().
body("country_code",equalTo("US"),
"country_name",equalTo("United States"),
"region_code",equalTo("CA"),
"region_name",equalTo("California"),
"city",equalTo("Sunnyvale")
);
}
}