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

Posted Qtest之道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试--参数实现MD5加密签名规则相关的知识,希望对你有一定的参考价值。

接口测试--参数实现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加密签名规则

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加密签名规则

再次请求接口,就可以将参数加密,并且把参数signs1,signs2,signs3等参数存到jmeter变量中,拼接成url请求参数


Postman参数实现md5加密

1.设置环境变量

2.请求参数设置中引用sign值

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

3.Pre-request-Script中写MD5加密签名规则的脚本

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

注意:

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

2. Post请求可直接通过request.data获取请求参数,get请求可先通过 request.url获取请求url,然后对url进行处理,获取请求参数

3.Pre-request Script的日志可通过view-> Show Postman Console查看

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





Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!

陪伴是最长情的告白

每日为你推送最in的测试技术

以上是关于接口测试--参数实现MD5加密签名规则的主要内容,如果未能解决你的问题,请参考以下文章

Python模块学习之hashlib中MD5在接口测试中的应用

[接口测试]JMeter中的字符串加密处理

Jmeter实现MD5加密

使用Jmeter测试MD5加密接口性能测试实战

接口测试加解密与多环境测试

jmeter完成md5加密的接口请求参数