rest接口案例_使用restassured框架优雅实现接口测试断言

a8224cebdc493ece5ea070a99769c051.gif

对于接口测试来说,只判断响应状态码为200是远远不够的,我们经常必须去验证响应内容中的业务字段是否正确,本文将采用Rest-Assured框架来实现接口响应的判断。如果对rest-assured框架不太了解的同学,可以参考这篇文章:

“技术干货|接口测试框架rest-assured搭建(符源码)”

1

接口信息的调试

当我们在做接口测试时,通常希望将接口的请求及响应信息打印出来帮助我们debug,那么在Rest-assured框架中如何将接口信息打印在控制台呢,如下图代码红框中框出来的:

c5011788d443ac763d7cae1545bfecdf.png

控制台打印出请求信息如下:

0f220607f982ccc062010b26e7dc49e9.png

响应信息如下:

9f458c6d70a3266071fefd035093b01f.png

2

针对接口响应信息做断言

2.1 判断响应中单字段对应的内容是否正确

以上图中的响应结果中的message字段为例,因为响应结果是json格式的,因此我们可以采用body()方法来直接提取,并且采用equalTo()来对比。

使用前先导入

import static org.hamcrest.Matchers.*;

具体代码如下:

32a014de45f46b677c7736c67fe2fe4f.png 

2.2 判断响应中多个字段对应的内容是否正确

   body()方法中可以针对多个字段连续判断,用逗号隔开多个判断

   具体代码如下:

   6be7d8f19aa301e57e9371827a035a59.png还有另外一种写法,写多个body()方法,如下:

9257ea5a405597b98e81bea7f3daf581.png 

2.3 判断响应中的某个字段对应的数值的大小

   比如上述接口中的id值对应的是数字,我想判断id对应的数字小于2,代码如下:

de72b8e512252d6408bebaf9129156f3.png 

  那么大家可以想想如果想判断比某个数字大呢?这里可以给大家列举一下:

1、lessThan(x):表示比某大小

2、lessThanOrEqualTo(x):表示小于等于

3、greaterThan(x):表示比某个值大

4、greaterThanOrEqualTo(x):表示大于等于

2.4 判断响应中的多个相同字段的值

   比如有一个接口是获取用户列表,响应结果如下:

9be013c5f41ef3697b7fdee7d56b06f6.png 

目标是判断响应中所有的userName都正确,具体实现代码如下:

da8da9ce2f36a5b3c97d28707e892e46.png 

其中path:data.userName表示选取响应结果中data字段下的所有userName字段

hasItems表示结果中是否包含这几个选项,需要一一对应哦

在上述案例中做断言时都用到了一个path参数,该参数表示使用某种路径表达式从响应结果中提取相应内容,那么在Rest-assured中针对json格式的响应结果采用JsonPath来提取,针对xml格式的响应结果采用xmlPath来提取,关于这两种类型的提取规则我们下次再说

aad16ad1597c95d775cf2cfe8237f137.gif

码同学性能测试开发专家班,开课倒计时!

挑战年薪50W!

81be8ca7a3c7cd302345cc0e321f7b60.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值