第一个接口的返回值作为第二个接口的参数
javascript脚本,常用的固定的记住,不常用的把笔记保存好
javascript通用语法:
1.所有符号都是英文格式
2.每一句后面以;结束,if for除外
控制台是接口调试的利器
提取是在请求之后提取。
第一种接口管理方式:json提取器的方式实现接口管理,针对json数据
在第一个接口Tests中:
//打印
console.log(responseBody);
//把返回的json字符串转换成对象
var jsonObj=JSON.parse(responseBody);
//从对象中取出access_token的值并设置全局变量
//console.log(jsonObj.access_token);
pm.gloabls.set("access_token",jsonObj.access_token)
在第二个接口参数调用:
通过{{access_token}}获取全局变量
第二种接口关联方式:正则表达式提取器的方式实现接口关联。针对所有数据
在第一个接口:
//通过一个返回的结果匹配正则表达式得到需要的值
var data=responseBody.match(new RegExp('"access_token":"(.*?)"'));
console.log(data[1]);
pm.gloabls.set("access_token",data[1])
在第二个接口参数调用:
通过{{access_token}}获取全局变量
其他方法:
1.获取响应头的值:
var Content_Type=postman.getResponseHeader("Content-Type")
console.log(Content_Type)
2.获取cookie值:
var csrf_token=postman.getResponseCookie("csrf_token")
console.log(csrf_token);
3.如果返回的数据是xml,那么可以转化为对象
var jsonObject= xml2json(responseBody);
二.Postman的动态参数(随机数)
1.内置的动态参数
{{$timestamp}} 当前时间戳
{{$randomInt}} 0-100的随机数
{{$guid}} 生成很长的guid随机字符串
2.自定义的动态参数
//自定义动态参数时间戳
var times=Date.now();
console.log(times)
//生成之后设置为全局变量
pm.gloabls.set("times",times)
随机整数:
随机手机号:
等待N秒实现:有些接口调用时间限制,3s内只能调用一次
三.Postmand环境变量和全局变量
全局变量:在任意环境每个接口里面都可以访问的变量
环境变量:在当前环境下每个接口都可以访问的变量
四.Postman断言
断言判断预期结果和实际结果是否一致
1.状态断言:断言返回码为200,一般只有一个
2.业务断言:判断最核心的业务关键字,可以多个
断言状态码为200 --必用
断言返回的结果中包含一个字符串 --常用
断言检查返回的json对象中的字段值 --用于返回的结果是json
断言返回的body=一个字符串 --用于返回的结果比较少
检查是否包含有content-type的响应头
检查请求耗时少于200ms
检查post请求的响应码是否是一个值
检查返回的信息是否是一个字符串
在断言中不能通过{{}}获取全局变量
前置全局断言
五.其他接口类型:
1.文件上传接口
2.必须带请求头的接口