如何在单线程组+单CSV文件下实现200用户各执行3个订单的JMeter脚本?
整合Stepping Thread Group与CSV数据配置实现200用户并发场景
以下是基于单线程组和单CSV文件,实现200个独立用户同时登录、执行3次订单操作后退出的JMeter脚本配置步骤:
1. 配置Stepping Thread Group
- 添加Stepping Thread Group到测试计划
- 核心配置:
Number of Threads(users):设为200(对应需求的200个独立用户)Ramp-Up Time(seconds):设为0(确保所有用户同时启动)Loop Count:设为1(每个用户仅执行一次完整的登录-订单-退出流程)
2. 配置baolu-csv-data-file-config
- 将baolu-csv-data-file-config添加到Stepping Thread Group下
- 关键配置:
- 指定CSV文件路径(确保文件包含至少200条独立用户的登录凭证)
- 取消勾选
Recycle on EOF,勾选Stop thread on EOF(保证每个线程获取唯一的用户数据,避免重复使用) - 配置CSV列对应的变量名(比如
username、password,后续请求直接引用)
3. 构建用户流程
按顺序添加以下组件到Stepping Thread Group内:
3.1 登录请求
- 添加HTTP请求,填写登录接口的URL、请求方法
- 在请求参数中引用CSV配置的变量,比如用
${username}、${password}作为登录凭证 - 可选:添加响应断言,验证登录请求是否成功(比如检查响应中包含"登录成功"关键字)
3.2 循环控制器(控制3次订单操作)
- 添加循环控制器,设置
Loop Count为3 - 在控制器内添加订单操作的HTTP请求:
- 填写订单接口的URL、请求方法及必要参数
- 如果订单请求依赖登录后的会话或动态参数(比如token、用户ID),可通过正则表达式提取器或JSON提取器从登录响应中获取并引用
3.3 退出请求
- 在循环控制器之后添加退出HTTP请求,填写退出接口的URL和参数
- 可选:添加响应断言验证退出操作成功
关键注意事项
- 确保CSV文件的用户数据数量≥200,避免线程因读取到文件末尾提前终止
- 启用JMeter的
HTTP Cookie管理器,自动维护用户会话,保证登录后后续请求的合法性 - 可添加
事务控制器包裹整个用户流程,方便统计完整流程的响应时间和成功率
内容的提问来源于stack exchange,提问作者Jagadeesh Kumar
相关产品推荐
相关产品推荐

