1、postman介绍
主要基础配置
collections 接口请求
APIs api文档
Environments 环境配置(测试环境、线上环境、开发环境等)
Mock servers 桩程序(前后端分离,前端已经开发好了,后端还没有,那么就可以自定义一个mock server服务器,前端)
2、postman发送get和post请求
请求部分
params get请求传参
authorization 鉴权
headers 请求头
body post请求传参
form-data 既可以传键值对也可以传文件
x-www-from-unlencoded 只能传键值对
raw 传json、html、js、xml
pre-request script 接口请求之前的脚本
Tests 接口请求之后的脚本
cookies postman自动管理cookies的按钮
响应部分
body 响应的数据
headers 响应的请求头
cookies 响应的cookies
Test results 查看断言结果
3、接口关联、接口依赖(js脚本)
json提取
//先转换为json格式
//responseBody 请求返回的数据
var jsonData = JSON.parse(responseBody);
//再根据key取值,并设置为全局变量(可以在look处查看全局变量)
//pm.globals.set 设置全局变量
pm.globals.set("access_token", jsonData.access_token);
正则提取
//设置正则规则并提取结果(为list,要取的值是下标为1的值)
var access_token = responseBody.match(new RegExp('"access_token":"(.*?)"'));
//设置为全局变量
pm.globals.set("access_token", access_token[1]);
cookie提取
// 根据关键字提取会得到一个字典
var token = postman.getResponseCookie('csrf_token');
//直接.value提取值,并设置为全局变量
pm.globals.set("csrf_token", token.value);
4、动态参数处理
1、内置的动态参数
{{$timestamp}} 时间戳
{{$randomint}} 1-1000的整数
2、自定义动态参数(重点)
//自定义时间戳
var times = Date.now()
//接口请求停留三秒(不需要记)等等
5、全局变量和环境变量
全局变量:所有接口可以访问到的变量
环境变量: (开发环境、测试环境、生产环境等)
6、断言
//常见六大断言
// 断言返回响应吗为200
// pm.test("Status code is 200", function () {
// pm.response.to.have.status(200);
// });
// 断言返回结果中包含指定字符串
// pm.test("Body matches string", function () {
// pm.expect(pm.response.text()).to
// .include("string_you_want_to_search");
// });
// 断言检查返回的json数据
// pm.test("Your test name", function () {
// var jsonData = pm.response.json();
// pm.expect(jsonData.value).to.eql(100);
// });
// 断言返回的值等于一个字符串
// pm.test("Body is correct", function () {
// pm.response.to.have.body("response_body_string");
// });
// 断言请求头包含Content-type
// pm.test("Content-Type is present", function () {
// pm.response.to.have.header("Content-Type");
// });
// 断言响应时间小于200ms
// pm.test("Response time is less than 200ms", function () {
// pm.expect(pm.response.responseTime).to.be.below(200);
// });
postman内置的动态参数无法做业务断言所以必须使用自定义动态参数
断言里面取全局变量需要调用 get a global variable方法
7、必须带请求头的接口如何测试
若不知道请求头则用fidder抓包复制请求头,然后粘贴即可