一、简要
这两天测试组对资金服务做接口压测,需要根据body内容生成sign,帮忙写了个简易脚本顺手记录下。
1、工具:Jmeter 5.4
2、额外jar包:json.jar
3、配置元件:Beanshell预处理程序
4、处理类型:json
5、sign规则:将body中的value排序 + salt ,使用MD5 生成 sign
二、代码
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.Argument;
import org.apache.commons.codec.digest.DigestUtils;
import java.io.*;
import org.json.*;
/*
* 获取请求传入的body,将其转化为Json对象
*/
// 获取请求
Arguments arguments = sampler.getArguments();
// 获取请求中的body内容
Argument arg = arguments.getArgument(0);
// 获取body的value,并将其转化为JSONObject对象
JSONObject dataObj = new JSONObject(arg.getValue());
/*
* 获取Json的key进行排序
*/
// 创建list存储body中的key值
List keyArry = new ArrayList();
// 生成迭代对象
Iterator iterator = dataObj.keys();
// 循环key,将其放入list
while (iterator.hasNext()) {
String key = (String) iterator.next();
// 去除sign
if