1.当前Jmeter版本为3.3,去函数助手查看,存在__base64Encode()以及__base64Decode()两个内置函数
2.已知项目中登录账号的加密方式
3.模拟产生数据,比较是否相同
A.account和validatecode这2个值好实现,直接为输入值进行加密
${__base64Encode(GMSPort,)}
${__base64Encode(only,)}
B.sessionid为空直接不填即可
C.random这个值,他的获取方式,是登录接口的一个返回值,但是该接口的返回值为一个html页面,该值为input中的value值,直接可以用正则表达式方式获取NXCFXRBUFQZROKTZOAUATKGLPEGXKQWD
获取返回值后,进行64加密实现:random ${__base64Encode(NXCFXRBUFQZROKTZOAUATKGLPEGXKQWD,)}
D.hmac先需要进行MD5,进行混淆,混淆方式为random值和md5password
i)md5password:${__MD5(cl123456789GMSPort,)} 登录账号的密码为cl123456789,账号名为GMSPort
II)该hmac的取值,使用了hmacDM5的算法。需要按照开发提供代码。然后封装成一个jar包。参考资料。
https://blog.csdn.net/renzhilongqq/article/details/89646551
其中输入的参数为random值,和md5password
4.数据已经准备好了,接下来就是实现jmeter脚本
i)请求http
ii)给该请求设置前置处理器,写调用内容
完成!!