如何在JMeter中实现多虚拟用户创建潜在客户的性能测试
JMeter实现1000虚拟用户创建潜在客户的性能测试方案
核心问题解决思路
问题根源是每个虚拟用户需要唯一手机号,必须为每个请求生成或获取不同的手机号,避免重复。以下是几种可行方案:
方案1:用JMeter内置函数生成动态手机号
利用JMeter的__Random或__RandomString函数生成符合规则的手机号,示例如下:
- 固定手机号前缀(如国内手机号常用的130-199区间),后8位随机生成
- 将请求体中的
mobileNumber字段替换为动态表达式:{ "firstName": "Ankit", "lastName": "Singh", "mobileNumber": "13${__Random(00000000,99999999,)}", "vehicleData": [ { "registrationNumber": "UP32MX0505", "vehicleType": "CAR" }, { "registrationNumber": "KA01HP8748", "vehicleType": "BIKE" } ], "otherVehicles": [ { "vehicleRegistrationNumber": "UP43Z0064", "make": "Volvo", "model": "Xc90", "fuelType": "Hybrid (Electric + Petrol)", "vehicleType": "CAR" } ] } - 说明:
__Random(00000000,99999999,)会生成8位随机数字,和前缀组合成唯一手机号;若需更严谨的格式,可改用__RandomString(8,0123456789,)生成8位纯数字字符串。
方案2:使用CSV数据文件配置
提前准备包含1000个唯一手机号的CSV文件(示例命名为phone_numbers.csv):
mobileNumber 13000000001 13000000002 ... 13000000999
在JMeter中添加「CSV数据文件设置」元件:
- 填写文件名与文件编码
- 变量名设为
mobileNumber - 「线程共享模式」选择「所有线程」,确保每个虚拟用户取唯一手机号
- 请求体中
mobileNumber字段替换为${mobileNumber}
方案3:用户定义变量+计数器动态生成
- 添加「计数器」元件:
- 起始值设为1,递增步长1,最大值1000,引用名称填
phone_suffix
- 起始值设为1,递增步长1,最大值1000,引用名称填
- 请求体中手机号字段设置为:
"mobileNumber": "1300000${__StringFromNumber(${phone_suffix},000,)}"
- 说明:
__StringFromNumber函数会将计数器值补零到3位,生成13000000001到13000001000这类连续唯一的手机号。
测试计划配置要点
- 线程组设置:线程数1000,循环次数1(每个虚拟用户仅执行一次创建请求)
- 添加「HTTP请求」元件,填写接口地址、请求方法(POST),请求体使用上述动态变量
- 添加「查看结果树」元件,验证请求是否成功
- 可选添加「聚合报告」「图形结果」等元件,收集吞吐量、响应时间等性能数据
注意事项
- 确保生成的手机号符合业务规则(如位数、前缀合法性)
- 若接口存在其他唯一校验字段(如邮箱),需同步做动态处理
- 测试前先做小批量验证(如10个用户),确认每个请求都能成功创建潜在客户
内容的提问来源于stack exchange,提问作者mohammed sagir
相关产品推荐
相关产品推荐

