beanshell

1.vars: 实际引用Jmeter线程的局部变量, 连通Jmeter 和 beanshell
    vars.get(String key) //获取变量值
 vars.put(String key, String value) //存储value到变量key
 
//获取对象大小
Object sequenceCount=vars.getObject("sequence").size();
//获取对象放入一个数组中
var arr_sequence=vars.getObject("sequence");
 
//在数组中依次循环出来并输出
for (int i=0;i<sequenceCount;i++){
  var sequence=arr_sequence.get(i);
  var.put("test_seq",sequence.get("sequence").toString());//转换成String输出
  log.info(sequence.get("test_seq"));
 
}
 
import com.changfu.EncryptAndDecryptInterface;//导入jar包EncryptAndDecryptInterface类
import org.json.JSONObject;
 
String json_res=pre.getResponseDataAsString();//获取登录请求信息
String resb=EncryptAndDecryptInterface.getDecrypt(json_res);//调用解密工具,对响应信息解密
vars.put("resb"resb);
log.info("解密后的响应信息resb="+resb);
JSONObject data_obj=new JSONObject(resb);//解析json响应信息
String uid_str=data_obj.get("result").get("id").toString();//截取响应信息uid的值
props.put("uid_str",uid_str);//将uid_str数据存到变量中,这里用props.put,其他线程组可以调用该变量

 

log.info("加密前的uid="+uid_str) ;

 

String uid_str=props.get("uid_str");//获取登录传递的uid_str变量

String enuid=EncryptAndDecryptInterface.getEncryptUID(uid_str);//加密登录返回的uid

vars.put("enuid",enuid);

log.info("加密登录后返回的uid"+enuid);

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2021-01-14 17:22  aprial01  阅读(113)  评论(0编辑  收藏  举报