jmeter 线程组之间的参数传递(加密接口测试三)

Posted 松勤软件学院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter 线程组之间的参数传递(加密接口测试三)相关的知识,希望对你有一定的参考价值。



场景测试中,一次登录后做多个接口的操作,然后登录后的uid需要关联传递给其他接口发送请求的时候使用。

1、在登录接口响应信息中提取uid字段值

  1>login请求 -->添加 -->后置处理器--> bean shell postprocessor

jmeter 线程组之间的参数传递(加密接口测试三)

 

  2>在bean shell postprocessor提取uid

 

import com.changfu.EncryptAndDecryptInterface;
import org.json.JSONArray;
import org.json.JSONObject;

String json_res = prev.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);


jmeter 线程组之间的参数传递(加密接口测试三)


2、在测试计划中添加“用户参数”

 

jmeter 线程组之间的参数传递(加密接口测试三)

 

需要传递的参数添加到用户参数

jmeter 线程组之间的参数传递(加密接口测试三)

 

3、在另一个线程组接收该变量uid_str

  1>线程组->添加-->前置处理器-->BeanShell PreProcessor

import com.changfu.EncryptAndDecryptInterface;

String uid_str = props.get("uid_str"); //获取登录传递的uid_str变量
String enuid=EncryptAndDecryptInterface.getEncryptUID(uid_str);  //加密登录返回的uid
vars.put("enuid",enuid);
log.info("加密登录后返回的uid"+enuid);

  


软件测试免费视频观看链接:https://ke.qq.com/course/159919#tuin=ba4122 

松勤网:www.songqinnet.com



以上是关于jmeter 线程组之间的参数传递(加密接口测试三)的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter 跨线程组传递参数 之两种方法

JMeter接口测试-跨线程组取参数值

Jmeter跨线程组传递token失败

Jmeter多接口测试之参数传递

Jmeter跨线程组调用token

JMeter模拟多用户同时登录,token传递接口关联(同线程组)