postman环境变量设置:动态提取响应体URI参数并设置环境变量

在 postman 中,可以通过 JavaScript 脚本从响应中的 URI 提取参数值(通过 ?& 分隔的查询参数),并将这些值设置为环境变量。

响应体如下:

包含一个 URL

{
  "redirect_uri": "https://www.baidu.com/callback?code=12345&state=xyz"
}
  • 需要从 redirect_uri 中提取 codestate 的值。

脚本代码

放入 TestsPre-request Script 中,代码如下:

// 获取响应体
const response = pm.response.json();

// 提取目标 URI,例如 response.redirect_uri
const uri = response.redirect_uri;

// 定义一个函数来解析 URI 中的查询参数
function getQueryParams(url) {
    let query = url.split('?')[1]; // 获取 "?" 后面的部分
    if (!query) return {};
    
    return query.split('&').reduce((params, param) => {
        let [key, value] = param.split('=');
        params[decodeURIComponent(key)] = decodeURIComponent(value);
        return params;
    }, {});
}

// 获取查询参数对象
const queryParams = getQueryParams(uri);

// 将参数值设置为 Postman 的环境变量
Object.keys(queryParams).forEach(key => {
    pm.environment.set(key, queryParams[key]);
    console.log(`Set environment variable: ${key} = ${queryParams[key]}`);
});
  • response.redirect_uri: 获取响应中包含 URI 的字段,修改为你的实际字段名。
  • getQueryParams: 一个通用函数,提取 URI 中的查询参数并返回一个对象。
  • pm.environment.set: 将提取的参数和值分别设置为环境变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值