背景
最近在进行压力测试的时候,需要在发送请求的时候生成签名,因为现在的REST api大多会传sign(签名)字段,各接口对sign签名的内容、方式可能不一样,但一般模式都是从接口的入参中选择部分内容组成一个字符串,然后再拼接一个 secretKey 或 appKey (像秘钥一样,值固定) ,最后对这个拼接起来的字符串进行MD5的运算或者其他自定义的算法,将结果赋值给sign。完整规范的接口文档都会有sign的算法描述。因此,编写了本篇文章记录以下。
解决步骤
(1)确认签名算法。
(2)如果测试中没有什么特别要求,尽量保持接口数据参数不变动,但是一般来说会加入一个时间参数(根据当前时间生成),因此签名也会相应的变化。
(3)编写好对应的算法生成接口,也可以让开发小伙帮帮你打包弄好。
(4)将JAR包引入到Jmeter。
(5)编写对应的Beanshell Processor 中代码,并将动态数据放入Jmeter 运行参数中。
(6)使用占位符使用参数。
注意 :放入vars中的数据 一定要转成字符串,不然会不生效。
例子
根据签名算法,编写对应的接口
因为自己的项目签名比较复杂,所以就重新写了一个简单的签名方式,可以根据自己项目调整,可以是JSON字符串等其他都OK
/**

本文介绍了如何在JMeter压力测试中利用BeanShell预处理器生成sign签名。遵循确认签名算法、编写接口、引入JAR、编写BeanShell代码、使用占位符的步骤,详细阐述了签名的生成过程,并提供了例子和注意事项。
最低0.47元/天 解锁文章
1064

被折叠的 条评论
为什么被折叠?



