bkcomlll0720

导航

如何使用Jmeter获取及引用token--后置处理器-Beanshell PostProcessor

使用场景:如:登录接口A返回Token,下一接口B必须要先传登录接口的Token才可以访问

第一种:取出data(token值)

第二种:取出data(token值),在data下提取token

 

1.下载org.json.jar,将地址配置在测试计划中,参考

 

 

2.在登录接口A中添加Beanshell PostProcessor,在Script中输入以下代码:

---第一种代码

//先引入Jar包

import org.json.*;

log.info("====tokenk开始=====");

//获取请求返回值。赋予字符串String 变量

String response = prev.getResponseDataAsString();

//将string的值转换成成 Jsonobject 对象

JSONObject data_obj= new JSONObject(response);

//获取Json中 token的值

String token= data_obj.get("token").toString();--直接获取token

//将获取到的token值赋予变量

vars.put("token",token);

//打印token的值

log.info("====token====="+token);

log.info("====tokenk结束=====");  

 

---第二种代码

//先引入Jar包

import org.json.*;

log.info("====tokenk开始=====");

//获取请求返回值。赋予字符串String 变量

String response = prev.getResponseDataAsString();

//将string的值转换成成 Jsonobject 对象

JSONObject data_obj= new JSONObject(response);

//获取Json中 token的值

JSONObject data= data_obj.get("data");

String token= data.get("token").toString();

//将获取到的token值赋予变量

vars.put("token",token);

//打印token的值

log.info("====token====="+token);

log.info("====tokenk结束=====");  

 

3.引用方式为:${__P(变量名称,)},如 ${__P(Token,)}

 

posted on 2023-06-12 12:45  婷瑜  阅读(1149)  评论(0)    收藏  举报