Badboy录制脚本结合jmeter进行压测

文章目录

  • 第一步:录制脚本
  • 第二步:JMeter中的操作
      • 1)脚本放置到JMeter中打开
      • 2)处理脚本---sign处理
      • 3)处理脚本---token处理
      • 4)添加压测的方案:

假设一个需求:需要对登录—>访问患者列表—>察看某个患者详情。这个过程做压测。

第一步:录制脚本

先用Badboy录制一下该几个步骤的脚本:https://blog.csdn.net/paidaxing_dashu/article/details/88851618

第二步:JMeter中的操作

1)脚本放置到JMeter中打开

Badboy录制脚本结合jmeter进行压测_第1张图片
添加一个察看结果树运行一下:
Badboy录制脚本结合jmeter进行压测_第2张图片
Badboy录制脚本结合jmeter进行压测_第3张图片
Badboy录制脚本结合jmeter进行压测_第4张图片
Badboy录制脚本结合jmeter进行压测_第5张图片

发现:在需要登录验证的接口中,Badboy直接录制的脚本,好像不能直接运行,那么就需要做一下处理,方便用JMeter进行压测。

2)处理脚本—sign处理

有些项目是有添加sign(特定的字符串的拼接)签名认证的,这个需要跟开发确认一下,最好要一个能跳过验证的处理方案,比如这里是添加一个bebug:
Badboy录制脚本结合jmeter进行压测_第6张图片
再次执行得:
Badboy录制脚本结合jmeter进行压测_第7张图片
检查登录接口,发现录制下来的脚本,把参数的写法模式写错了:
Badboy录制脚本结合jmeter进行压测_第8张图片
修改一下,再次执行:
Badboy录制脚本结合jmeter进行压测_第9张图片
Badboy录制脚本结合jmeter进行压测_第10张图片

3)处理脚本—token处理

一般session,cookie,token验证之类,是在登录成功之后,返回过来的。那么可以通过抓包接口,来察看正常操作步骤中,都使用了哪些验证字段。

fiddler 抓包该demo中:

登录接口返回:
Badboy录制脚本结合jmeter进行压测_第11张图片
查询接口请求头:
Badboy录制脚本结合jmeter进行压测_第12张图片
得出结论是后续操作,使用了登录接口返回的tokenHeadtoken做为后续的验证。

因为登录接口返回的是JSON格式,所以可以直接用JSON提取器:
Badboy录制脚本结合jmeter进行压测_第13张图片
Badboy录制脚本结合jmeter进行压测_第14张图片
添加了后置调试处理器,运行一下察看:成功抓取到了需要验证的token字段

Badboy录制脚本结合jmeter进行压测_第15张图片
最后将实时抓取的token配置到请求头中去:将验证的token配置成实时更新的变量
Badboy录制脚本结合jmeter进行压测_第16张图片
再次执行一下:
登录接口:成功
Badboy录制脚本结合jmeter进行压测_第17张图片
列表查询接口:成功
Badboy录制脚本结合jmeter进行压测_第18张图片
详情查询接口:成功
Badboy录制脚本结合jmeter进行压测_第19张图片

4)添加压测的方案:

因为脚本已经调试成功,所以可以添加各种压测的方案,循环执行该demo操作100次,并发,用户量…并且添加各种不同的监听器来察看性能指标。

eg:模拟10个用户,每个人查看20次,性能测试不要添加察看结果树,因为十分消耗内存指标,所以禁用,添加一个汇总报告
Badboy录制脚本结合jmeter进行压测_第20张图片
Badboy录制脚本结合jmeter进行压测_第21张图片

执行:
Badboy录制脚本结合jmeter进行压测_第22张图片
如果需要登录只执行一次,则可以添加一个仅一次控制器,后面的性能测试方案,就是看各自的需求,进行脚本的修改了。

你可能感兴趣的:(#,Jmeter_demo)