Jmeter-记录初次获取签名数据

工具:Jmeter
功能:BeanShell前置预处理程序
补充文件:json.jar

获取步骤

1.获取接口的签名规则

举例:
在这里插入图片描述

2.创建Jmeter请求

在这里插入图片描述

3.编写BeanShell程序

这里需要导入json.jar包到lib目录下,
参考链接:1.无json.jar包解决办法 2.代码参考博客
根据签名规则编写的代码如下:

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.Argument;
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.codec.digest.DigestUtils;    //导入md5加密的包
// 参考blog地址 https://www.cnblogs.com/yoyoketang/,作者-上海悠悠 QQ交流群:717225969

Arguments arguments =  sampler.getArguments();
Argument arg = arguments.getArgument(0);
//  1.获取请求body值
String body = arg.getValue();
log.info(body);

// 2.body转json对象
JSONObject jsonObject = new JSONObject(body);
String appid = jsonObject.getString("appId");
String nonce = jsonObject.getString("nonce");
String timestamp = jsonObject.getString("timestamp");
//String psw = jsonObject.getString("password");
log.info(appid);
log.info(nonce);
log.info(timestamp);

//3.获取到的json对象去除sign本身参数,拼接参数,排序,拼接key
// 这段暂时还不会用java代码全自动实现
String key = "123456";
log.info(key);


// 4.排序后拼接签名key字符串
String d = appid+nonce+timestamp+key;
log.info(d);

// 5.md5加密,得到sign签名值
String md5_after = DigestUtils.md5Hex(d);   // md5加密
log.info(md5_after);


// 6.给jsonObject对象添加sign参数
jsonObject.put("signature", md5_after);

// 7.JSONObject 转字符串
String  postData = jsonObject.toString();
log.info(postData);

// 8.重新赋值请求的body参数
arg.setValue(postData);

4.启动线程组,查看请求结果

在这里插入图片描述

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值