rest-assured 常用方法简介

1.发送一个请求

比较常用的是如下的形式,以下表明:我要向/testinterface接口发送请求,请求时携带参数key1,key1的值为value1,请求后检查返回的状态码为200.(POST方法同理,把get换成post即可)

given().param("key1","value1").

when().get("/testinterface").

then().statusCode(200)

2.在请求的header中添加参数

given().

header("Auth-Token","XXXXXXXXXXX").

param("key1","value1")

3.请求时携带多个参数

given().

header("hkey1","value1").

header("hkey2","value2").

param("key1","value1").

param("key2","value2")

4.打印发送请求时的信息以便调试

一般调试时需要打印出我们发送出来的请求信息

打印所有信息:given().log().all()

打印参数:given().log().params()

打印请求体:given().log().body()

打印header:given().log().headers()

打印cookie:given().log().cookies()

打印请求方式:given().log().method()

打印请求路径:given().log().path()

5.SSL请求报错处理

在多数场景下,SSL能顺利运转,但是如果服务端使用了无效的证书,有些情况下还是会出错。可以使用如下方法避免报错

given().relaxedHTTPSValidation()

6.从返回中获取结果

1)从返回中获得一个结果

extract().path("code")

2)从返回中获得多个结果

Response res = given().XXXXXX.extract().response();

res.path("code").toString();   //结果1

res.path("data.item.id").toString();    //结果2

3)从返回的数组中获取第2个数组的id

extract().path("data.item.array[1].id").toString();

4)从返回的数组中准确过滤出我们想要的内容

下面例子中,返回的data.item中包含多个images,我们获取名称为image1的images,并返回他的image_id

importcom.jayway.jsonpath.JsonPath;

importcom.jayway.jsonpath.ReadContext;

Response res = given().XXXXXX.extract().response();

ReadContext ctx = JsonPath.parse(response.path("data"));

List image= ctx.read("$.item.images[?(@.name=='image1')]");

return JsonPath.read(image.get(0),"image_id").toString();

可以有多种方式来进行匹配,详见 https://github.com/json-path/JsonPath

你可能感兴趣的:(rest-assured 常用方法简介)