Postman中文网站 18221674630

Postman接口自动化之断言设置

发布者:Postman中文网站 时间:2023-09-05

postman可以测试套件里加套件,所以如果需要批量运行接口测试,你可以将需要的接口进行分类,然后用不同的文件夹来管理,举例如下图:  

测试组件:baiduApi  

测试模块:info,search等,如果还需要再细分,可以在info下继续新建文件夹login  

测试脚本:info->login(login),info(updateInfo),search(demo1)  

baiduApi案例.png

OK,接口模块划分明确后,剩下的就是填充用例,即上一篇的添加接口地址和报文。  

填充测试用例,有一个重要环节,就是设置断言。做接口测试,接口状态码对不对,返回的结果和实际是否一致,我们肯定需要检查。断言的设置直接决定接口用例是否有效,比如搜索接口,关键词是”postman“,你的断言可以是:  

一:只验证接口是否连通,状态码是否正确。  

二:1、验证接口状态码2、返回的结果是否和搜索关键词postman相关。  

当然还可以设置更多的断言,主要目的是对这个接口的预期结果和响应内容做一个对比。  

案例说明:如何设置断言及执行结果  

以https://hxw.17u.cn/openapi/mini/common/getCityGroupByPinyin这个接口为例。此接口为GET请求,没有请求体。  

如何设置断言及执行结果.png 

请求Body一行的Tests:设置断言  

响应Body一行的TestResults:断言的执行结果  

也许大家看到这里发现断言都是代码,就开始懵了,表示看不懂啊,其实Postman还是很方便的,Tests右边有大量写好的方法供我们使用,基本满足工作需要,所以能看懂单词就够了。  

Body一行的TestResults.png

我们来分析一下断言内容:  

Postman断言是JavaScript写的。先把响应内容,设置成json格式,便于查看取值。  

json格式.png  

然后我们声明一个变量jsonData用来存储响应内容,如下,这样便于理解:  

jsonData.png 

那么如何获取第一个groupBy值?jsonData['data']['data'][0]['groupBy']即可得到返回值’A’。这样就可以测试接口是否有返回内容,且返回的内容是否正确,断言设置如下:  

1.png  

下面这种断言的设置更简单,只需判断响应内容里包含'A'即可,缺点是判断不够精准。  

2.png 

所以断言可简单可复杂,大家根据实际业务需要适当设置,下面我们来看看断言的执行结果:  

点击Send发送请求,请求完自动执行Tests里设置的断言,断言的执行结果显示在TestResults内,结果显示两个断言都通过了验证:  

3.png  

我们再修改一下断言,data下第一个groupBy的预期结果设置为AA,我们看看运行结果:  

4.png 

这个断言的执行结果显示Fail,而且会显示实际结果(A)和预期结果(AA)的差别。