一,Badboy录制Web脚本
1、安装
- 随便去网上搜下载一个
- 百度网盘 提取码:6666
安装好之后:
2、一个简单的录制案例
保存所录制的脚本为JMX。
保存下来的效果:
可以直接拉到 jmeter 上打开:
二,Jmeter结合Badboy进行压测案例
假设一个需求:需要对登录—>访问患者列表—>察看某个患者详情。这个过程做压测。
1、使用Badboy录制脚本
按照上述步骤,先用Badboy录制一下该几个步骤的脚本
2、JMeter中的操作
2.1)脚本放置到JMeter中打开
添加一个察看结果树运行一下:
发现:在需要登录验证的接口中,Badboy直接录制的脚本,好像不能直接运行,那么就需要做一下处理,方便用JMeter进行压测。
2.2)处理脚本—sign处理
有些项目是有添加sign(特定的字符串的拼接)签名认证的,这个需要跟开发确认一下,最好要一个能跳过验证的处理方案,比如这里是添加一个bebug:
再次执行得:
检查登录接口,发现录制下来的脚本,把参数的写法模式写错了:
修改一下,再次执行:
2.3)处理脚本—token处理
一般session,cookie,token验证之类,是在登录成功之后,返回过来的。那么可以通过抓包接口,来察看正常操作步骤中,都使用了哪些验证字段。
fiddler 抓包该demo中:
登录接口返回:
查询接口请求头:
得出结论是后续操作,使用了登录接口返回的tokenHead和token做为后续的验证。
因为登录接口返回的是JSON格式,所以可以直接用JSON提取器:
添加了后置调试处理器,运行一下察看:成功抓取到了需要验证的token字段
最后将实时抓取的token配置到请求头中去:将验证的token配置成实时更新的变量
再次执行一下:
登录接口:成功
列表查询接口:成功
详情查询接口:成功
2.4)添加压测的方案:
因为脚本已经调试成功,所以可以添加各种压测的方案,循环执行该demo操作100次,并发,用户量…并且添加各种不同的监听器来察看性能指标。
eg:模拟10个用户,每个人查看20次,性能测试不要添加察看结果树,因为十分消耗内存指标,所以禁用,添加一个汇总报告
执行:
如果需要登录只执行一次,则可以添加一个仅一次控制器,后面的性能测试方案,就是看各自的需求,进行脚本的修改了。