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

2018-06-22  本文已影响19人  3479da3be4fa

微信+17031115530,拉测试微信群交流

*****************************************************************************************************

场景测试中,一次登录后做多个接口的操作,然后登录后的uid 需要关联传递给其他接口发

送请求的时候使用。

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

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

2>在bean shell postprocessor 提取uid

import com.changfu.EncryptAndDecryptInterface;

import org.json.JSONArray;

import org.json.JSONObject;

微信+17031115530,拉测试微信群交流

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);

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

微信+17031115530,拉测试微信群交流

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

微信+17031115530,拉测试微信群交流

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);

微信+17031115530,拉测试微信群交流

微信+17031115530,拉测试微信群交流

上一篇下一篇

猜你喜欢

热点阅读