postman--get请求
参数拼接在url后面
下面分别表示http响应状态码、请求耗时,响应大小,而上面的code=9630是程序内部定义的状态码
右上角code
Content-Type: multipart/from-data(postman自动带上请求头) 表单文件上传
Content-Type: x-www-form-urlencoded 表单提交
Content-Type:application/json 根据你选择的数据类型决定
Content-Type:binary 二进制文件
postman--post请求:form-data
cookies,response.set_cookie(username,token)
headers
右上角code,请求体里不同的input之间用一段叫boundary的字符串分割,每个input都有了自己一个小header,其后空行接着是数据
postman--post请求:x-www-form-urlencoded
自动添加上了请求头
headers
将input的name、value用‘=’连接,不同的input之间用‘&’连接
postman:上传文件
postman:json
自动加入了请求头信息
postman:cookie中传token
token是登录返回的,add_user3这个功能必须先要登录
特别说明:实际测试过程中,如果token失效时间很长,可以像下面获取到token后写死;但是,最好是通过关联,动态获取
postman动态获取参考
请求头信息
请求
右上角code,可以看到,token在cookie中
postman:form-data,body中传token
请求内容
postman:json,body中传token
自动加上了请求头信息
postman:断言
注意:tests断言中不能使用{{}}取全局变量,只能通过pm.globals.get("times")或globals["times"]或globals.times来取
postman:接口关联
第一种方式 在获取token后,也就是tests里面写
//1.获取响应主体正文
var resbody = responseBody;
console.log(resbody);
//2.如果返回json字符串,可以转换成json对象后解析
var jsonobj = JSON.parse(reponseBody);
console.log(jsonobj.access_token);
应用到下面的接口
//把提取到的token放到全局变量中 pm.globals.set("access_token",jsonobj.access_token);
取值
第二种方式 使用正则表达式提取
var value = responseBody.match(new RegExp('"access_token":"(*+?)"')); console.log(value[1]);
点击右边设置全局变量
pm.globals.set("access_token",value[1]);
使用时填写{{csrf_token}}
清除cookie导致第二个接口返回失败:
因为有接口是一次性的,消除之后就没有了,可以先send之前的接口获取到cookie后第二个接口就正常
获取响应headers值
需要从响应头取值时应用
var type = postman.getResponseHeaders('Content-Type');
console.log(types);
获取相应的cookie信息
var csrf_token = postman.getResponseCookie('csrf_token'); console.log(csrf_token['value']);
postman:必须带请求头的接口
有的请求头是必须的
Host: www.baidu.com 请求的主机地址
Connection:keep-alive 连接方式:保持活跃
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36
请求的客户端类型(模拟浏览器的请求)
X-Requested-With:XMLHttpRequest 异步请求(高铁,飞机相互不影响,网页局部刷新)
Referer : 来源
Accept-Encoding: 客户端接收的数据压缩方式
Accept-Language: 客户端接收的数据编码方式
Cookie: 请求的cookie信息
Content-Type: 请求的数据类型
Content-Type: multipart/from-data(postman自动带上请求头) 表单文件上传
Content-Type: x-www-form-urlencoded 表单提交
Content-Type:application/json 根据你选择的数据类型决定
Content-Type:binary 二进制文件
postman:接口mock
使用场景:前后端分离架构,后端接口数据没出来,前端需要调用接口实现业务,保证前端可以正常开发及测试,需要mock,模拟桩(模拟一个接口给前端使用)
Mock Servers - create Mocker Server 测试时选择mockserver(自己起的名字)
postman:内置动态参数
{{$timestamp}} 生成当前时间的时间戳
{{$randomint}}生成0-1000的随机数
{{$guid}} 生成随机的guid字符串
postman:自定义动态函数
1.可以不用系统的时间戳,{{times}}
var times =Data.now();
pm.global.set("times",times);
2.等待3s
const sleep = (milliseconds)=>{
const start = Date.now()
while(Data.now()<=shart+milliseconds){}
};
sleep(3000);