用于方便REST服务测试的JAVA DSL
Here’s an example of how to make a GET request and validate the JSON or XML response:
get("/lotto").then().assertThat().body("lotto.lottoId", equalTo(5));
Get and verify all winner ids:
get("/lotto").then().assertThat().body("lotto.winners.winnerId", hasItems(23, 54));
Using parameters:
given(). param("key1", "value1"). param("key2", "value2"). when(). post("/somewhere"). then(). body(containsString("OK"));
Using X-Path (XML only):
given(). parameters("firstName", "John", "lastName", "Doe"). when(). post("/greetMe"). then(). body(hasXPath("/greeting/firstName[text()='John']")).
Need authentication? REST Assured provides several authentication mechanisms:
given().auth().basic(username, password).when().get("/secured").then().statusCode(200);
Getting and parsing a response body:
// Example with JsonPath String json = get("/lotto").asString() List<String> winnderIds = from(json).get("lotto.winners.winnerId"); // Example with XmlPath String xml = post("/shopping").andReturn().body().asString() Node category = from(xml).get("shopping.category[0]");
REST Assured supports the POST , GET , PUT , DELETE , OPTIONS , PATCH and HEAD http methods and includes specifying and validating e.g. parameters, headers, cookies and body easily.