软件测试技能,JMeter压力测试教程,请求body自动签名带上sign参数(二十一)

一、前言

接口请求body带有sign签名参数,sign签名是根据请求body除去sign本身参数后,拼接请求参数最后md5加密生成的

使用 jmeter 测试接口,我们希望在请求之前修改 post body 里面的 sign 参数的值为签名的值

二、sign签名

签名一篇的实现方式是添加 BeanShell 预处理程序,生成sign值,设置一个变量,然后在请求的body里面引用变量请添加图片描述
可以参考前面这篇:https://blog.csdn.net/x2waiwai/article/details/122843324

接下来再讲另外一种实现方式,在BeanShell 预处理程序先获取请求的body,签名后给sign参数重新赋值,然后发送新的请求body

整体实现思路如下
1.先获取请求body值
2.body转JSONObject对象
3.根据sign签名规则,对JSONObject对象遍历取值,然后排序
4.排序后拼接签名key,生成一个新的字符串
5.md5加密,得到sign签名值
6.给jsonObject对象添加sign属性
7.JSONObject 转json字符串
8.给请求的body重新赋值

在发送请求之前添加上面功能的预处理,就可以实现body参数自动签名了

三、BeanShell 预处理程序

HTTP请求样本在body里面可以不用加签名sign参数请添加图片描述
添加 BeanShell 预处理程序请添加图片描述
整体代码实现如下

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.Argument;
import org.json.JSONObject;
import org.json.JSONArray;
  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值