json:数据类型 (字符串)
主要包括 键值对 用{}表示 ,
列表 用[]表示。
字典:(对象)
主要包括 键值对 用{}表示 ,
列表 用[]表示。
全局变量
能够在所有接口请求里面使用的变量叫全局变量
环境变量
环境变量是能够让代码在不同的环境下去执行的,环境变量其实也是全局变量
http协议默认端口 80
https协议摸摸人端口 443
能够在所有的接口请求里面使用的变量
发现问题:
1、access_token 鉴权码需要手动输入 太麻烦
解决方案:
//接口关联-第一种方式json提取器
//1、获取相应的主体正文 var resbody = responseBody; console.log(rebody); //2、如果返回的是json字符串,可以转换成json对象然后解析 var jsonbj = JSON.parse(responsBody); consloe.log(jsonbj.access_token); //3、把提取到的token放到全局变量 pm.globals.set("access_token", jsonbj.access_token);
//接口关联第二种方式 正则表达式提取
//1、获取相应的主体正文 var resbody = responseBody; console.log(rebody); //2、使用正则表达式提取 var value = responseBody.match(new RegExp(‘“access_token”:"(.*?)"’)); console.log(value[1]); //3、把提取到的token放到全局变量 pm.globals.set("access_token",value[1] );
//其他方法
//获取响应头的值:需要从响应头取值时应用 var types = postman.getResponseHeader('Content-Type') console.log(types) //获取响应的cookie信息 var csrf_toke = postman.getResponesCookie('csrf_token') console.log(csrr_token['value'])
2、创建标签接口标签名不能和已存在的标签码重复
一、Postman的动态参数
postman内置动态参数
{($timestamp)} 生成当前时间戳 (不是万能的,没办法做断言)
{($randomint)} 生成0-1000的随机数
{($guid)} 生成一个随机的guid的字符串
自定义动态参数-在请求之前(Pre-request Script)
/
1、手动制造时间戳
var times = Date.now(); pm.globals.set("times",times);
2、等待3s作用
const sleep = (millisecconds)=>{ const start = Date.now(); while(Date.now()<=start+milliseconds){} }; sleep(3000);
2.1 删除标签只能删除固定id标签
解决方案:
增 查 改 查 删 查 接口测试业务流程
/
var res = JSON.parse(responseBody); pm.globals.set("tag_id",res.tag.id );
3、环境是写死的 没有办法让我们用例在不同环境下执行
解决方案:
设置环境变量