JMeter压测http接口

本文详细介绍如何在JMeter中使用BeanShellPreProcessor进行MD5签名的生成,包括创建线程组、HTTP请求、自定义变量及Java逻辑的编写。通过实例演示了参数加密过程,如生成随机交易号、构建签名字符串、MD5加密等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建线程组

线程组下面创建http请求

在http请求下面创建自定义变量

在http请求下创建BeanShell PreProcessor

有些参数需要进行加密等操作,可以在这个地方写java逻辑

比如MD5签名

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Map;
import java.util.TreeMap;

public static void test(){
char[] Digit = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f' };
Random rand = new Random();
vars.put("out_trade_no",rand.nextInt(999999999)+"");

TreeMap params = new TreeMap();

params.put("mchid",vars.get("mchid"));
params.put("out_trade_no",vars.get("out_trade_no"));
params.put("total_fee",vars.get("total_fee"));
params.put("time_start",vars.get("time_start"));
params.put("goods_name",vars.get("goods_name"));
params.put("trade_type",vars.get("trade_type"));
params.put("notify_url",vars.get("notify_url"));
params.put("time_expire",vars.get("time_expire"));

StringBuilder bu = new StringBuilder();
for (String k : params.keySet()) {
	String v = params.get(k);
	bu.append(k).append("=").append(v).append("&");
}
bu.append("key").append("=").append("c3eKYKddd41345940tLY534FRIvSJ");
String str = bu.toString();
System.out.println(str);
MessageDigest md5;

try {
  md5 = MessageDigest.getInstance("MD5");
  md5.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException var8) {
  var8.printStackTrace();
} catch (UnsupportedEncodingException var9) {
  var9.printStackTrace();
}
byte[] encodedValue = md5.digest();
int j = encodedValue.length;
char[] finalValue = new char[j * 2];
int k = 0;

for (int i = 0; i < j; ++i) {
  byte encoded = encodedValue[i];
  finalValue[k++] = Digit[encoded >> 4 & 15];
  finalValue[k++] = Digit[encoded & 15];
}
String result = new String(finalValue);
vars.put("sign",result.toUpperCase());
}
test();

可以从vars变量中获取和设置变量。

在http请求下创建结果树,查看请求结果。

创建响应断言

创建聚合报告

创建用表格查看结果

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值