You need to enable JavaScript to run this app. 如何使用JMeter实现100个唯一新用户同时下单的自动化负载测试
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JMeter实现100个唯一新用户同时下单的自动化负载测试

JMeter 100并发唯一新用户下单负载测试实现方案

1. 修复录制脚本的基础问题与动态参数关联

BlazeMeter录制的脚本默认硬编码所有参数和请求,先完成基础校准:

  • 确保线程组下已经添加HTTP Cookie管理器,默认配置即可,自动维护每个用户的会话状态,保证Menu到确认页的多页面跳转时session连续
  • 清理录制产生的冗余请求,比如css、js、图片等静态资源请求,只保留业务提交类的核心请求,减少不必要的性能开销
  • 关联所有动态生成的参数:排查流程中所有的CSRF令牌、basket ID、页面隐藏表单字段、订单临时流水号等用户维度唯一的动态值,用正则表达式提取器或JSON提取器从前置请求的响应中提取对应值,替换后续请求里的硬编码参数,重点校验Your Details、Payment两个提交页面的所有入参

2. 100个唯一新用户的参数化配置

提前准备100组互不重复的测试数据,保证每个用户提交的信息唯一:

  • 新建CSV数据文件,每行存储一组邮箱,密码,其他自定义测试字段
  • 在线程组下添加CSV 数据集 Config,按以下规则配置:
    • Recycle on EOF 设置为 False
    • Stop thread on EOF 设置为 True
    • Sharing mode 设置为 All threads,确保每个线程取到唯一的一组用户数据
  • 将Your Details页面请求里的邮箱、密码参数替换为CSV对应的变量,比如${email}、${password}

3. 实现严格完全并发

根据你的并发需求选择对应配置:

  • 若要求下单提交动作完全并发(即所有用户走完前面的流程后,同时触发付款提交):
    • 线程组配置:线程数设为100,Ramp-Up时间设为0,循环次数设为1
    • 在Payment提交请求的同级节点添加同步定时器(Synchronizing Timer),Number of Simultaneous Users to Group by设为100,Timeout in milliseconds设为30000,避免部分用户前置流程超时导致全局等待
  • 若要求整个流程从访问Menu页面开始完全并发:只需将线程组的Ramp-Up时间设为0,无需添加同步定时器

4. 脚本验证与执行

  • 先将线程数改为1,做单用户全流程调试,查看结果树监听器中所有请求响应码正常,最终能成功进入确认页,无参数错误、权限报错
  • 单用户调试通过后,添加汇总报告、响应时间图等需要的监听器,改回100线程即可执行测试

内容的提问来源于stack exchange,提问作者shweta kaushik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 17:39:00