metersphere后置脚本提取响应头,响应体;

一,首先观察下你的响应头,都是key:value形式的;

二,我们需要先添加一个后置脚本,右侧默认选择的beanshell编写;
在这里插入图片描述
三,点击右侧的获取响应头,就能得到完整的响应头,如下我们脚本的前两行;

// 获取响应头
rh = prev.getResponseHeaders();
log.info("--------------" + rh.toString());
//将响应头拆分存入数组A
String[] A=rh.split("\n");
log.info(Arrays.toString(A));

//创建一个哈希
Map kv=new HashMap();

for(i=1;i<A.length;i++)
{
    
    log.info("第"+i+"个:"+A[i]);
    //获取单个数组值
    String v=A[i];
    String[] B=v.split(":");
    //将B数组中的内容作为键值对存储
    kv.put(B[0],B[1]);
    
    }
//打印哈希表
log.info(kv.toString());

//获取你想要的值
a=kv.get("X-ALIDW-VSHOP-ID");
log.info(a);
// 将获取的值设置为环境变量
vars.put(${__metersphere_env_id}+"a",a);
//获取你想要的值
b=kv.get("X-ALIDW-SHOP-ID");
log.info(b);
// 将获取的值设置为环境变量
vars.put(${__metersphere_env_id}+"b",b);

四,将响应头设置成环境变量
1.中间的都是在把获取的响应头格式化,后面好拿取,你只需要复制即可;
2.最后一行是将获取的响应头设置成环境变量,便于其他接口使用,只需点击右侧的设置环境参数,然后替换变量名即可;
3.提取多个的话你只需要重复后三行代码即可,如上我就提取了a,b两个参数并设置为环境变量;
五,运行之后环境变量都设置上了,其他接口就可以调用了;
在这里插入图片描述
六,再补充一下后置脚本提取响应体的脚本
1.先添加一个后置操作“提取参数”,然后使用jsonpath提取;
在这里插入图片描述
2.再添加一个后置操作“后置脚本”,点击右侧的设置环境参数,然后替换变量名,将第一步提取的参数设置成环境变量;

vars.put(${__metersphere_env_id}+"X-ALIDW-VSHOP-ID","${X-ALIDW-VSHOP-ID}");

在这里插入图片描述
3.运行之后,查看你的环境变量就会设置上,然后别的接口就可以调用变量了,如下;在这里插入图片描述
如果对你有帮助,麻烦点点关注,点点赞哦;

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值