8. Postman使用
csrf_token:有效期 7-15 天
access_token:有效期 10-120 分钟
8.1 接口关联
JSON提取器:
1. 打印:console.log(responseBody) 2. 转为JSON对象:var jsdata = JSON.parse(responseBody)‘ 3. 取值:jsdata.access_token 4. 设置为全局变量:pm.global.set('xxxx', 'xxxx') 5. 通过{{xxxx}}取值
正则表达式提取器:
responseBody.match(new RegExp("正则表达式", ))
8.2 全局变量和环境变量
全局变量可以在所有的接口请求中使用
环境变量可以在当前环境的所有接口中使用:测试环境,开发环境,生产环境
问题:
1.创建和编辑标签接口参数唯一(动态参数)
2.删除接口,ID不能重复,ID必须存在
8.3 内置动态参数及自定义动态参数
内置动态参数:
1. {{$timestamp}} 无法断言 2. {{$randomInt}} 生成0-1000的随机数 3. {{$guid}} 生成一个GUIID长字符串随机数
自定义动态参数:
时间戳:Date.now()
8.4 断言
状态断言:断言返回的状态码
业务断言:断言其中的核心业务关键字
postman提供的快捷接口
8.4.1 自定义动态参数断言
无法通过{{}}方式取值
1.通过取值然后(get) + 拼接
2.globals['xx']
3.globals.xx
8.4.2 全局断言
有些断言是相同的,却要每次写一个,这时可以写为全局断言
8.5 批量执行用例
右键>run collection
关于文件上传接口在批量执行用例时的问题:postman默认在postman路径下找文件,需要修改配置
8.6 数据驱动
csv或者json
在断言中取数据文件中的变量是data.xxxx
8.7 对于必须带请求头的接口
请求方式,请求参数,请求路径,请求头
8.8 Cookie鉴权
Postman会自动保存
8.9 接口Mock Server服务器
使用场景:前后端分离,后端没有做好,前端完成了,需要测试自己去Mock接口
相当于利用postman临时建立一个接口,去模拟后端
8.10 接口测试加解密
1.对称式加密:DES、AES、BASE64
2.非对称加密:RSA
3.只加密不解密:MD5、SHA1、SHA3、SHA256
加密:在pre-request Script中进行加密
8.11 非GUI方式运行
1.导出项目
2.在postman中以命令行方式运行newman