• 使用rest — assured框架优雅实现接口测试断言


    对于接口测试来说,只判断响应状态码为200是远远不够的,我们经常必须去验证响应内容中的业务字段是否正确,本文将采用Rest-Assured框架来实现接口响应的判断

    01、接口信息的调试

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

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

    响应信息如下:

    02、针对接口响应信息做断言

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

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

    使用前先导入

    import static org.hamcrest.Matchers.*;

    具体代码如下:

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

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

    具体代码如下:

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

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

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

    代码如下:

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

    • lessThan(x):表示比某大小
    • lessThanOrEqualTo(x):表示小于等于
    • greaterThan(x):表示比某个值大
    • greaterThanOrEqualTo(x):表示大于等于

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

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

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

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

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

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

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

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

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

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

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

  • 相关阅读:
    为什么拼多多总能给市场带来惊喜?
    小功能⭐️Unity静态方法拓展写法
    Java高级---->JDK8新特性学习笔记
    makesense在线yolov5标注
    ReACT介绍与llama_index ReActAgent实践
    猿创征文|瑞吉外卖——移动端_手机端展示
    2022年武汉市智能制造试点示范行动奖励补贴政策以及申报条件要求汇总!
    【03】Spring源码-手写篇-手写AOP实现(上)
    关系型数据库的问题和NoSQL数据库的应用
    弘辽科技:淘宝流量不稳定该如何应对
  • 原文地址:https://blog.csdn.net/2301_78276982/article/details/134091415