最近压测的时候,遇到一个接口的参数是加密了的。这就要求压测前造数必须也是加密的。
捋了下思路,大概如下:
1、通过csv 去设置参数中变动的userID
2、通过BeanShell PreProcessor 去处理参数加密,具体流程如下
- 根据请求的格式,要先用map去存属性。其中userID 引用csv里的变量
- 将map转为string。这里要用到fastson,需要先下载这个jar包,再将这个jar包拷贝到jmeter的lib目录下。这样,代码里就可以导入这个包,使用里面的功能了。
- 最好先在idea这样的工具上调试代码。自己创建项目,先把开发写的加解密的方法拷贝过去,调试通。
- 将参数加解密的包也导出成jar包了,放在jmeter的lib里
- 在BeanShell 导入需要用的jar包,开始写逻辑。上面map请求样例已经有了,调用加密方法进行加密,将加密后的值赋给一个变量。把这个变量放到请求体里即可。