JMeter进阶使用变量及BeanShell 预处理程序实现复杂调试。
有一些测试需要做一些预处理程序才能做http请求,在JMeter下可以通过使用参数+BeanShell 预处理程序加工后再发起请求即可。例oauth服务需要通过username,password,client_id,client_secret,grant_type进行请求,这里的密码涉及安全性不能用明文进行传输,需要做预处理
应用提供如下信息:
用户名:username=user
密码:password=888888
盐值:salt=2gjokme8k5p0u3n8ca1n
客户端ID:client_id=test
客户端秘钥:client_secret=16air0bu4l0yjnfkkxfc
授权模式:grant_type=password
发送密码的规则为password=sha(md5(8888882gjokme8k5p0u3n8ca1n))=a43dd2bfc28bbaf137ab5a45d634f44eed06adcf
这里需要先将(密码+盐值)先进行md5,再进行sha才是要发送的最终参数,这里如果只测试一个用户时间,先通过其它程序取得再传入也是很方便,但如果需要做多个用户的测试就非常麻烦了,需要不停的去加工后才能在jmeter里更换,调试起来不方便,如果用参数+BeanShell 预处理程序就可以很方便处理了
下面来实际验证
验证请求
成功返回
下面用参数+BeanShell 预处理程序来实现
🎯 定义参数:
如果换个用户,只需修改这里即可
HTTP请求里值用${xxxx}来定义变量参数,来接收定义的参数或BeanShell 预处理程序生成的变量,这里${passwordPar} 是BeanShell 预处理程序生成的
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
🎯 BeanShell预处理程序
处理程序
-
<