递增测试数据(手机号)用于负载测试100万注册
Incrementing test data (mobile number) for load testing 1 million registrations
我正在尝试对注册搜索应用程序进行负载测试,顾名思义,它可以处理大约 500 万个手机号码。将使用 100-500 个线程,并在每个循环之间循环特定的延迟。
我已经准备好功能测试 JMeter 脚本。我唯一想做的改变是自动生成手机号码。
最简单的解决方案是将 mobileNumber
设为 ${random(${min},${max})}
。但我想避免它并通过使用 property mobileNumber
获得更线性化的方法
在 JSR223 采样器中(使用 Groovy 脚本),我试图将属性读取为
long number = ${__P(mobileNumber)}
vars.put("mobileNumber", String.valueOf(number))
我希望使用在当前线程中创建的 UDV mobileNumber
并将属性 mobileNumber
增加 100。尝试做:
number = number + 100
${__setProperty(mobileNumber, String.valueOf(number))
由于某些原因,它无法正常工作并给出错误消息响应消息:
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: number for class: Script1
无法弄清楚哪里出了问题?
您可以通过 using just JMeter Functions 不编写任何脚本来做到这一点:
${__longSum(${__P(mobileNumber)},100,tempNumber)}
其中
- 阅读
mobileNumber
属性
- 向其添加
100
- 将结果存储到
tempNumber
变量中(但是如果你不需要它你可以省略它)
${__setProperty(mobileNumber,${tempNumber},)}
- 将 tempNumber
变量值存储为 mobileNumber
属性
使用的函数是:
- __longSum - 计算 2 个或更多 long 值的总和
- __P - returns JMeter 的值 属性
- __setProperty - 将值分配给 JMeter 属性
我正在尝试对注册搜索应用程序进行负载测试,顾名思义,它可以处理大约 500 万个手机号码。将使用 100-500 个线程,并在每个循环之间循环特定的延迟。
我已经准备好功能测试 JMeter 脚本。我唯一想做的改变是自动生成手机号码。
最简单的解决方案是将 mobileNumber
设为 ${random(${min},${max})}
。但我想避免它并通过使用 property mobileNumber
在 JSR223 采样器中(使用 Groovy 脚本),我试图将属性读取为
long number = ${__P(mobileNumber)}
vars.put("mobileNumber", String.valueOf(number))
我希望使用在当前线程中创建的 UDV mobileNumber
并将属性 mobileNumber
增加 100。尝试做:
number = number + 100
${__setProperty(mobileNumber, String.valueOf(number))
由于某些原因,它无法正常工作并给出错误消息响应消息:
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: number for class: Script1
无法弄清楚哪里出了问题?
您可以通过 using just JMeter Functions 不编写任何脚本来做到这一点:
${__longSum(${__P(mobileNumber)},100,tempNumber)}
其中- 阅读
mobileNumber
属性 - 向其添加
100
- 将结果存储到
tempNumber
变量中(但是如果你不需要它你可以省略它)
- 阅读
${__setProperty(mobileNumber,${tempNumber},)}
- 将tempNumber
变量值存储为mobileNumber
属性
使用的函数是:
- __longSum - 计算 2 个或更多 long 值的总和
- __P - returns JMeter 的值 属性
- __setProperty - 将值分配给 JMeter 属性