REST Assured:为 REST/HTTP 服务提供方便测试的 Java DSL

914 阅读1分钟
原文链接: github.com

在Ruby和Groovy这样的动态语言中进行REST服务测试和校验一直都是非常困难的。REST Assured 让这些工作在Java中可以轻松完成。

测试一个GET 请求方法,并校验Json或者XML响应。

get("/lotto").then().assertThat().body("lotto.lottoId",equalTo(5));

获取和验证所有赢家的ids:

get("/lotto").then().assertThat().body("lotto.winners.winnerId",hasItems(23,54));

使用参数:

given().

param("key1","value1").

param("key2","value2").

when().

post("/somewhere").

then().

body(containsString("OK"));

使用X-Path(仅限XML解析):

given().

parameters("firstName","John","lastName","Doe").

when().

post("/greetMe").

then().

body(hasXPath("/greeting/firstName[text()='John']")).

需要验证?没问题,REST Assured提供了多种校验机制:

given().auth().basic(username,password).when().get("/secured").then().statusCode(200);

获取响应,并解析:

// Example with JsonPath

Stringjson=get("/lotto").asString()

List winnderIds=from(json).get("lotto.winners.winnerId");

// Example with XmlPath

Stringxml=post("/shopping").andReturn().body().asString()

Node category=from(xml).get("shopping.category[0]");

REST Assured 提供了对POST、GET、PUT、DELETE、OPTIONS、PATCH和HEAD的HTTP方法支持,还包括特殊校验,比如参数、headers、cookies和body等。

开发资源

技术支持

加入我们 Google group.

官方网站:www.rest-assured.io/
开源地址:github.com/jayway/rest…