一,首先观察下你的响应头,都是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.运行之后,查看你的环境变量就会设置上,然后别的接口就可以调用变量了,如下;
如果对你有帮助,麻烦点点关注,点点赞哦;