第一部分:导入对应jar包,获取传参并转为需要的类型
import org.apache.commons.codec.digest.DigestUtils;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import com.fasterxml.jackson.databind.*;
import org.apache.jmeter.config.*;
//powerky对应的token
String token = "xxx";
//System.out.println(token);
String timestamp = String.valueOf(System.currentTimeMillis());
// 截获请求,包含url、headers 和 body 三部分
Arguments args = sampler.getArguments();
// 获取请求body
Argument arg_body = args.getArgument(0);
// 获取body的值保存成字符串
String body = arg_body.getValue();
// 把body转成json对象,注意!这里因为body本身就是json字符串,所以用json类处理,xml或其他格式的不能这样处理!!
JSONObject jso = JSON.parseObject(body);
第二部分:参考开发给出的签名方法,对参数做对应处理
//这是对应的处理方法,每个项目都不一样,参考开发给你的签名
String param = sortJsonToString(jso);
第三部分:使用签名方法进行签名,这里我需要的是sha1Hex
//String str = token + timestamp + param;
String signature = DigestUtils.sha1Hex(token + timestamp + param);
System.out.println(signature);
vars.put("signature",signature);
vars.put("timestamp",timestamp);