如何使用JMeter对懒加载功能开展负载测试?
JMeter 懒加载功能负载测试方案
1. 先抓包分析懒加载的请求逻辑
- 打开浏览器F12切换到Network标签,先记录页面首次加载的请求,确认返回16-18条数据的接口。
- 手动向下滚动页面触发加载更多,重点抓取这个请求的核心信息:
- 请求的URL、方法(GET/POST)
- 关键参数:比如分页用的
page/offset,或者基于最后一条数据ID的lastId/scrollMarker - 响应的数据结构,确认每次加载的条数规则
2. 搭建JMeter测试计划
- 线程组:根据测试需求设置并发用户数、循环次数(或持续运行时间)
- HTTP请求默认值:填好目标服务的域名、端口,避免每个请求重复配置
- 首次加载请求:添加HTTP请求,对应页面首次加载的接口,单独运行验证返回数据量符合预期
- 滚动加载请求:新增HTTP请求,复用抓包得到的参数,重点处理参数动态化:
- 如果是分页参数(比如
page=1→page=2),添加计数器组件让页码自动递增 - 如果依赖上一次响应的最后一条数据ID,就在首次请求后加JSON提取器:
- 引用名称设为
lastId - JSON Path表达式写
$..id[-1](取响应里最后一个id字段) - 把滚动请求里的
last_id参数值设为${lastId}
- 引用名称设为
- 如果是分页参数(比如
- 模拟用户滚动间隔:在首次请求和滚动请求之间加高斯随机定时器,设置2-5秒延迟,贴近真实用户行为
3. 处理多次滚动场景
如果要模拟用户连续滚动多次加载,把滚动请求、定时器、断言放在循环控制器里,设置循环次数(比如模拟滚动5次),每次循环都会自动用上一次提取的lastId发起新请求。
4. 验证测试结果
- 加响应断言:检查每次滚动请求返回的数据条数是否符合业务规则
- 加JSON断言:确保响应里包含必要字段(比如数据列表、状态码)
- 测试完成后通过聚合报告分析吞吐量、响应时间、成功率,用查看结果树排查失败请求
5. 贴近真实场景的优化
- 用CSV数据文件设置加载不同用户的登录凭证,每个线程使用不同账号,模拟多用户场景
- 添加HTTP Cookie管理器自动维护会话,无需手动处理登录态
- 用
__RandomInt函数生成随机滚动间隔,避免请求时间过于规律
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

