接口关联

接口之间存在依赖关系,接口B要依赖于接口A的返回值。

例如:现在有两个接口,接口1:获取接口统一鉴权码token接口,接口2:创建标签接口。接口2里的请求参数需要依赖接口1返回的值,即需要获取access_token的值,替换ACCESS_TOKEN。

使用json提取器实现接口关联

console.log(responseBody);
//console.log()控制台打印,responseBody返回的值
var result = JSON.parse(responseBody);
//使用JSON提取器提取access_token值
//JSON.parse()把返回的字符串格式的数据转换成对象的形式
console.log(result.access_token);
pm.globals.set("access_token",result.access_token);
//把access_token设置为全局变量,方便接口2访问

关于console控制台 (可以查看打印的信息、接口日志等)

成功取到access_token的值

把access_token设置为全局变量后,点击右上角眼睛(Environment quick look)进行查看

 11.6.2版本图标如下

引用全局变量access_token,即ACCESS_TOKEN替换为{{access_token}}

使用正则表达式提取器实现接口关联

正则表达式:  (.+?):匹配任意字符,至少1个;   (.*?):匹配任意字符,至少0个

正则匹配表达式将需要提取的字段key:value都放入表达式中,将字段名作为键,字段值用表达式进行匹配。

//使用正则表达式提取器实现接口关联,match匹配
var result = responseBody.match(new RegExp('"access_token":"(.*?)"'));
//通过下标取值
console.log(result[1]);
//设置为全局变量
pm.globals.set("access_token",result[1]);

使用文本方式查看结果,确定取值对象。

提取对象里含有双引号,用单引号括起来,' "access_token":"(.*?)" '  表示字符串,match匹配的是正则表达式,而字符串并不代表是正则表达式,所以把字符串通过new RegExp()的方法来把字符串转换成一个正则表达式。

匹配到两个值,选用下标为1的值,并设置为全局变量,再同上引用全局变量access_token。

参考:

码尚postman学习

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部