@postman的使用
一、postman集合测试
1.1postman测试集管理接口
新建测试集
在测试集下可以直接进行新建请求
填写好请求头,post请求时,值在body中填写
例:上传文件接口
collection就是postman的测试集合
1、可以分项目、分模块的方式来管理多个接口
2、可以对接口进行批量测试,多次测试
3、可以将测试集合的接口导出,进行接口测试的转移
4、可以对变量进行设置
测试集的批量测试
点击测试集,点击run,调出测试集的运行界面
或者点击runner会弹出测试集的运行面板,选择需要运行的测试集
运行后的结果,只有设置了断言才会有pass和failed
1.2 测试集的导入/导出
点击测试进行导出,可以在另外的电脑进行导入
1.3 测试集中设置变量、引用变量
对变量进行设置
变量的编辑中,有初始值和当前值,每次运行测试集的时候,变量拿到的都是当前值
引用变量时,格式是两个大括号加上变量名
鼠标悬浮,显示变量的相关信息
二、postman的接口关联
2.1 postman全局变量设置
设置的全局变量可以提供postman所有的工程使用,即所有的接口都可以调用全局变量。
案例1:对手机号码归属地查询的手机号码设置为全局变量,并调用
思路:
1、发送请求接口
2、添加全局变量,并赋值
3、在请求中调用全局变量,语法:{{变量名}}
4、发送请求,查看结果
global全局变量
引用变量,鼠标悬浮的时候显示相关信息,说明变量的引用正确,全局变量所有的测试接口都可以使用
请求前脚本设置,请求后脚本断言
postman右侧的工具支持中已有很多的方法
例如:
get…获取值
set…设置值,改变值
clear…清除变量的值
2.2 postman环境变量设置
在项目中经常会遇到多种环境,如开发环境、测试环境、预生产环境、生产环境等。而且不同的环境有不同的值,主要体现在访问地址的不同上,因此,我们可以使用环境变量来管理不同的值
案例:对手机号码归属地查询设置两套环境,分别是测试环境和预生产环境
思路:
1、发送接口请求
2、添加两个环境组,不同环境组下设置不同的参数值
3、根据需求在请求时调用不同的环境变量,语法:{{变量名}}
4、发送请求,查看结果
例如:
在小眼睛和或者有设置按键的情况下,直接点击增加环境变量
点击小眼睛看不到环境变量的话,是因为没有选择环境
应用环境变量注意选择环境组,如果不选择的话会应用全局变量,引用成功,鼠标悬浮是可以看到变量的引用信息的
用代码修改url的值
postman的接口关联
需求:将手机号码归属地查询接口响应结果中city节点的值,作为天气查询接口中入参city的值来进行输入,从而实现接口的关联
思路:
1、天气查询接口中入参city的取值设置为变量(变量可以接受不同的值)
2、拿到手机号码归属地查询接口中响应结果中city节点的值
3、将第二步拿到的值传到变量中去
例;
将查询归属地得到的城市信息,传入天气查询接口,关联起来
在请求接口内取到值:
接收到变量之后,建立一个变量去接受
三、postman的断言操作
3.1 断言操作
对接口请求和的内容进行设置,如状态码,响应头、响应正文等信息进行断言操作。在设置时会给定一个预期结果,在发送请求后得到一个实际结果,如果两者的结果一致,则认为是成功的,否则是失败的。在失败的情况下则需要进一步的分析原因,从而判断是否是一个bug
3.2 状态码断言
常见的状态响应码分类
断言写在请求的test里面,右侧有提供很多方法,点击可生成很多方法
例:判断接口请求是否被服务器处理
通过状态码来判断
状态码后的文字描述
判断状态码是否在一个集合中间
3.2 正文的内容判断
例:检查响应正文是否包含登录成功的字符串
response body:contains string
该方法有局限性,会在文本中去匹配字符串,只要匹配上了都算,在于其结果中,如果遇到了中文要改成unicode
编码格式,注意特殊字符的转化,在斜杆前面加上斜杠
json value check
只能针对返回结果是json类型的才可以使用,xml,html的返回结果无法适用
response body:isequal to a string
检查结果是否完全等于一个值
但由于较为麻烦,基本不用
3.3 头部的响应断言
最常用的还是body内容的判断
3.4 响应时间的判断
作为性能的参考,2-5-8原则,1-3-5原则
2-5s可以接受,5-8s就有点就不行了
四、postman的参数化
4.1 变量参数化
全局变量
环境变量
作用:主要做接口关联、环境设置(测试环境、生产环境)
4.2 文档参数化
postman支持json文档,TXT文档,CSV文档
作用:批量管理数据(输入的数据,预期结果),批量测试
点击测试集,里面的data可以看到支持的格式类型
4.2.1 TXT文档参数化
案例:
1、用txt文档准备数据
2、接口中引用变量
3、测试集导入数据文件
4、多次迭代运行
5、查看运行结果
数据准备
引用变量的值
导入数据文件,必须在测试集里面做,运行测试集,导入数据文件
预览数据的时候如果发现了乱码,可以使用notepad++将文件编码格式转为unicode编码格式
4.2.2 csv格式
会根据csv文件的行数,自动选择执行的次数
五、postman的数据驱动
5.1 论坛接口测试集
发帖的接口测试创建
修改标题
首页帖子查看
发帖和修改标题的接口关联
发帖后的test获取响应的id
更新帖子接口,引用变量
文档的参数化数据引用
接着在测试集中引入文件
在test中添加断言
在获取首页查看的时候,因为发帖的测试tab数据文件里面是由不同模块的,所有首页查看请求的tab也要引用变量{{create_tab}},在进行断言的时候,因为预期结果也是在不断变更的,所以断言的内容也要引用数据文件的create_title
文件保存多组数据,用数据来进行批量操作
断言结果如果是多个的话,也可以在数据文件中写出来进行引用,因为数据文件在测试集进行引用的时候是只能引用一个文件的
版权归原作者 Xiaowu2048 所有, 如有侵权,请联系我们删除。