需求
当需要对请求数据进行加密,然后再传输加密后的数据(原数据不再传输),那么则需要从Sampler中获取到请求参数,然后对请求参数做加密处理,重新设置请求参数即可。
实现
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.http.util.HTTPArgument;
import java.util.Map.Entry;
// 获取请求参数对象
Arguments args = sampler.getArguments();
// 获取请求参数Map集合,key:参数名,value:参数值
Map map = args.getArgumentsAsMap();
// TODO 对请求参数数据进行加密处理
String sign = "";
// 清空之前所有的请求参数
args.clear();
// 重新设置加密后的参数
args.addArgument(new HTTPArgument("sign ", sign ));
总结
此次是在实践MeterSphere平台的时候,做接口测试所涉及到的问题,因为使用的是Jmeter,所以参考Jmeter源码+网友提供得到上述代码