jmeter取值

发布时间 2023-09-15 18:04:01作者: rrtbky

//获取请求的Body参数
Arguments args = sampler.getArguments();
String params="";
Argument arg_sign=new Argument();
//json格式请求:body只有一个key为空的参数值
for(int i=0;i<args.getArgumentCount();i++){ //循环去获取每一个值,进行修改或者替换
Argument arg=args.getArgument(i);
String key = args.getArgument(i).getName()+"";
String value = args.getArgument(i).getValue()+"";
log.info("key-->{}",key);
if(key.equals("password")){
log.info("password_pre-->{}",vars.get("password"));
value=ju.MD5(vars.get("password"));
log.info("value--->{}",value);
vars.put("password2",value);
arg.setValue(value);//修改参数的值
}
if(key.equals("sign")){
//获取到sign元素,但是不做处理
arg_sign=args.getArgument(i);
continue;
}
if(i==args.getArgumentCount()-1){
params=params+key+"="+value;
}else{
params=params+key+"="+value+"&";
}
log.info("requst body:key={},value={}",key,value);


}
vars.put("password2",ju.MD5(vars.get("password")));
log.info("----bbb---{}",params);
String key=vars.get("APPKEY");//获取密钥,在用户参数中设置。
log.info("--APPKEY->{}",key);


String sign=ju.signCodeKey_String(params,key);
arg_sign.setValue(sign); //重点:重新赋值
vars.put("sign",sign);
log.info("--sign-{}",vars.get("sign"));