接口测试--参数实现MD5加密签名规则

最近有个测试接口需求,接口有签名检查,签名规范为将所有请求参数按照key字典排序并连接起来进行md5加密,格式是:md5(bar=2&baz=3&foo=1),得到签名,将签名追加到参数末尾。由于需要对参数进行动态加密并且做压力测试,所以选择了使用jmeter, 利用BeanShell PreProcessor处理参数加密问题。(postman也可实现md5加密签名规则。添加环境变量,然后在Pre-request-Script中写MD5加密签名规则的脚本。文末会简单介绍一下)。具体步骤如下哦~~

Jmeter实现参数加密

1.由于签名需要将请求参数进行md5,所以先用Java写好代码,然后把该类打成Jar包(在类上点击右键->Export->jar file),代码如下:
接口测试--参数实现MD5加密签名规则_第1张图片
2.把jar包放在jmeter下D:\jmeter\apache-jmeter-3.3\lib下

3.打开jmeter,添加一个http sampler(调用登录接口),在sampler下添加一个BeanShell PreProcessor

4.在beanshell PreProcessor中导入jar包,调用加密方法,beanshell PreProcessor最常用的方法:

vars.get(String paramStr):获得变量值

vars.put(String key,String value):数据存到jmeter变量中
接口测试--参数实现MD5加密签名规则_第2张图片
再次请求接口,就可以将参数加密,并且把参数signs1,signs2,signs3等参数存到jmeter变量中,拼接成url请求参数

Postman参数实现md5加密

1.设置环境变量

2.请求参数设置中引用sign值
接口测试--参数实现MD5加密签名规则_第3张图片
3.Pre-request-Script中写MD5加密签名规则的脚本
接口测试--参数实现MD5加密签名规则_第4张图片
注意:

1.Postman实现接口加密对版本有要求,版本过低可能会报错

Post请求可直接通过request.data获取请求参数,get请求可先通过 request.url获取请求url,然后对url进行处理,获取请求参数
3.Pre-request Script的日志可通过view-> Show Postman Console查看

至此,关于需要对请求参数进行动态加密的接口测试就可以正常进行了,如果需要压测也可以直接使用jmeter进行压测。

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!
在这里插入图片描述
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流,同时我也把上面花几个月整理的资料放里边了,赶快加入吧。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

在这里插入图片描述

你可能感兴趣的:(软件测试,接口测试,程序员,测试工程师,测试)