postman提取接口的返回值及动态设置变量(一)

本文详细介绍了使用Postman进行API测试的高级技巧,包括如何从JSON和HTML响应中提取数据,动态设置环境和全局变量,以及如何利用控制台进行调试。文章还提供了检查JSON值是否符合预期的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、提取接口返回值
 
1.当返回值是返回JSON时
let json = JSON.parse(responseBody);  // responseBody是包含整个返回内容的字符串
let foobar = json.foo.bar[0].foobar;  //提取某字段的值:  假设结构为 {"foo": {"bar": [{"foobar": 1}, {"baz": 2}]}}

  

2.当返回值是返回HTML时
方法一:用正则表达式匹配
let foo = responseBody.match(/foo/g);   // g 全局 i 不分大小写 m 多行 tests['blahblahblah'] = foo[0] === 'bar'; // 正则里包含变量时: let foo = 'xxx'; let bar = responseBody.match(new RegExp(`^${foo}.*$`, 'g');
方法二(比较笨拙)
用CheerioJS库(可以用jQuery语法): const $ = cheerio.load(responseBody); $.html() // 整个网页 $('title').text(); // <title>标签里的文字
 
二、动态设置变量

1.设置环境变量

postman.setEnvironmentVariable("key", "value");
pm.environment.get("key");//postman  5.0以上版本设置环境变量的方法
pm.environment.unset("variable_key"); //清除环境变量

 

2.设置全局变量

postman.setGlobalVariable("key", "value");
pm.globals.set("variable_key", "variable_value"); //postman 5.0以上版本设置全局变量方法
pm.globals.get("variable_key"); //获取全局变量
pm.globals.unset("variable_key"); //清除全局变量

 

 三、调试中常用的方式

1.ctrl+alt+C 打开postman控制台

console.log(foobar);  //在控制台输出获取的结果

  

4.检测JSON中的某个值是否等于预期的值

var data = JSON.parse(responseBody); tests["Your test name"] = data.value === 100; //如果通过postman里面会有绿色标识

  

 

 

 

转载于:https://www.cnblogs.com/unknows/p/10032015.html

1、PostMan接口参数化操作步骤; 2、环境变量设置步骤; 3、A接口返回值例如token赋给B接口请求参数操作步骤; 图文并茂 1 接口参数化 第步:点击右上角图标,打开环境配置页面,选择Globals,设置全局变量; 第二步:添加变量名称,设置对应的变量,保存; 第三步:接口地址或者需要取的参数value设置;注意需要取设置为{{变量名}},双大括号,即可取全局变量设置。 TIPS: 如果需要批量修改接口参数等,可导出后编辑,批量替换,再导入即可,注意需要修改接口地址以及下方的参数取。 2 接口返回值存入环境变量步:查看接口返回值; { "data": { "leaguerId": "161", "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNjEiLCJjcmVhdGVkIjoxNTI5NTcyNTkzMTI5LCJleHAiOjE1Mjk1Nzk3OTN9.U6qmR-Qa9sJpwxShLOC8WLPBlhLxWWiQTv5bZtyOV0mdyCSHnFBb_p6T5PBY20m_0m2AmrQZGfrv6hvHCPAaow" }, "status": 200 } 第二步:在接口的TESTS页签中输入以下内容(视返回值情况修改): pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // 把responseBody转为json字符串 var Jsondata = JSON.parse(responseBody); // 设置环境变量access-token,供后面的接口引用 pm.environment.set("access-token ", Jsondata.data.token ); 第三步:重新发送上接口的参数信息测试,执行后查看环境变量;如图,则表示环境变量已经正常存储; 3 参数化取其他接口返回值步:修改需要引用上述token接口参数取,参数value设置为{{access-token}}({{变量名}}),测试接口,正确返回即可;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值