postman(三):添加断言
postman 添加 断言
2023-09-11 14:21:25 时间
进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
postman可以在请求模块的Tests标签添加断言,比较方便的是,postman已经提供了一些代码片段供我们使用
下面以一个接口实例来说下如何处理断言:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227110903326-1493695954.png)
如上,响应body的内容为一个json格式的字符串,这些内容可以作为断言的依据
切换到Tests标签,控制台右侧可以看到备用的代码片段
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227110915172-1957692531.png)
1.判断响应内容是否包含某个字符串
点击选择【Response body:Contains string】,左侧出现如下代码段
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227110926890-2084198853.png)
其中,pm是postman的主要对象,一般通过它来调用函数、数据等;
Body matches string可以看作这个测试代码段的描述说明,可以自己定义;
string_you_want_to_search表示预期响应内容,即用来断言的标准输出,需要根据实际情况设置;
改为如下:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227110937610-797535872.png)
意思就是:判断响应body中是否包含字符串“重点人员修改成功”
如果包含,表示断言结果通过;如果不包含,表示断言结果不通过。
2.判断响应内容是否和预期内容完全一致
点击选择【Response body:Is equal to a string】,左侧出现如下代码段
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227110950499-887599818.png)
其中,response_body_string处填写的内容要和接口返回的内容完全一致才可以匹配成功
假如响应body内容如下
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111000295-616513420.png)
那么需要把所有返回的内容填写到response_body_string处才可以
拷贝响应内容时,把Raw标签中的原始返回内容放过去即可,这样避免出现格式问题
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111017260-1521327793.png)
3.判断返回json数据中某个键对应的值
如果响应内容是json格式的字符串,则可以断言json数据中的某个键值对
点击选择【Response body:JSON value check】,左侧出现如下代码段
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111029297-90540608.png)
其中,Your test name表示这个测试片段的名称,可以自己任意定义;
jsonData.value表示响应json串中的某个键,如果响应内容如下
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111047073-1619554887.png)
所以,jsonData.value可以是json.status或json.desc或json.data
eql()填写的预期返回的字符串(把100改为断言内容即可)
最终形式如下:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111058195-591679474.png)
如果响应内容是嵌套的字典格式,则一层层引用即可,如下:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111109151-1884916468.png)
如果字典中嵌套了列表,则按照索引引用即可,反正要看清响应内容的格式
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111127475-167069303.png)
4.判断请求返回的状态码是否为200
点击选择【Status code:Code is 200】,左侧出现如下代码段
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111145331-1309007611.png)
其中,Status code is 200表示这个测试片段的名称,可自己定义
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111154400-951414293.png)
5.判断响应体中某个返回值的类型
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111200518-1950153372.png)
同样点击选择【Response body:JSON value check】,然后要把jsonData.value放在一个typeof()函数中,这样就是判断输出值的类型了
断言设置好后,点击【Send】发送请求,在响应模块的Test Results标签中可以看到断言结果
如果实际返回结果与预期符合,如下:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111210131-344907583.png)
如果实际返回结果与预期不符,则如下:
![](https://img2018.cnblogs.com/blog/1158674/201902/1158674-20190227111216247-1586344514.png)
2018-12-24 21:23:59
相关文章
- 接口测试工具Postman的基本使用
- Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 Postman 使用方法详解
- Postman之接口关联
- postman 脚本学习
- postman测试传入List<String>参数方式
- 由保存当前用户引发的springboot的测试方式postman/restlet还是swagger2
- postman的使用方法详解!最全面的教程
- PostMan(一、分页查询)
- Postman测试上传文件
- Python使用Flask实现RESTful API,使用Postman工具、requests库测试接口
- postman(七):运行集合,看所有请求执行结果