参考资料:
Postman接口测试使用教程和接口自动化测试项目实战你要的都有_哔哩哔哩_bilibili
Environment的设置 环境变量和全局变量
获取环境变量和全局变量的方式: {{变量名}}
使用json提取器提取access_token (登录接口后可以自动执行test脚本)
// 返回的字符串格式转换成对象的形式
var result=JSON.parse(responseBody);
// 把access_token 设置为全局对象
pm.globals.set("access_token", "result.access_token");
// 第二个接口获取
{{access_token}}
使用正则表达式提取器实现接口关联
// 返回的字符串格式转换成对象的形式
var result=responseBody.match(new RegExp('"access_token":"(.*?)"'))
pm.globals.set("access_token", result[1]);
// 第二个接口获取
{{access_token}}
postman 内置动态参数
{{$timestamp}} 生成当前时间的时间戳
{{$randomInt}} 生成0~1000的随机数
{{$guid}} 生成速记GUID字符串
自定义动态参数 方法请求前编写脚本(pre-request-script)
// 手动获取时间戳
var time=Date.now()
// 设置全局变量
pm.globals.set("times", time);
使用时使用:{{time}}
增删改查的接口,添加完把id设置成全局变量
// 获取创建的id
var tag_id=responseBody.match(new RegExp('"id":(*.?).'));
// 把id设置为全局变量
pm.globals.set("tag_id", tag_id[1]);
Status code: Code is 200 检查返回的状态码是否为200
Response body:Contains String 检查响应中包括指定字符串
Response body:JSON value check 检查响应中其中json的值
Response body:is equal to a string 检查响应等于一个字符串
Response Header: Content type 检查是否包含响应头 Content-Type
Response time is less than 200ms: 检查请求耗时小于200ms
断言判断
在断言中获取自定义动态参数(全局变量)的方式:
pm.globals.get(“time”)
globals[“time”]
globals.times
断言加到全局上
常见的请求头:
mock 模拟
后端接口还没有开发完成,前端的业务需要调用后端的接口。
{
"error_code":0,
"msg":"返回成功",
"data":[]
}
https://4cc5686e-fea4-4315-b775-2d3dec990017.mock.pstmn.io
什么是cookie
cookie是一小段文本,格式 key=value
cookie的鉴权原理
cookie的分类
postman自动触发cookie保存
postman 是专为接口测试而生。newman(新男人)是专为postman而生的。
newman 可以让我们postman的脚本通过非GUI方式运行
运行命令:newman run
常用参数:
-e 引用环境变量
-g 引用全局变量
-d 引用数据文件
-n 指定测试用例迭代的次数
-r cli,html,json,junit —reporter-html-export 指定生成HTML的报告
安装newman
执行命令:
newman run testcase.json -e environment.json -g globals.json -d data.json -r cli,html,json,junit —reporter-html-export export.html