1

我正在尝试加载测试注册搜索应用程序,该应用程序顾名思义可用于约 500 万个手机号码。将使用 100-500 个线程,并在每个循环之间有特定的延迟。

我已经准备好了功能测试 JMeter 脚本。我要做的唯一更改是自动生成手机号码。

最简单的解决方案是使用mobileNumberas ${random(${min},${max})}。但我想避免它并通过使用属性获得更线性化的方法 mobileNumber

在 JSR223 采样器(使用 Groovy 脚本)中,我试图将属性读取为

long number = ${__P(mobileNumber)}
vars.put("mobileNumber", String.valueOf(number))

我希望使用mobileNumber在当前线程中创建的 UDV 并将属性 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

想不通怎么了?

4

1 回答 1

1

您可以通过仅使用 JMeter 函数来执行此操作而无需任何脚本:

  • ${__longSum(${__P(mobileNumber)},100,tempNumber)}哪个
    • 读取mobileNumber属性
    • 添加100到它
    • 将结果存储到tempNumber变量中(但是如果你不需要它,你可以省略它)
  • ${__setProperty(mobileNumber,${tempNumber},)}- 将tempNumber变量值存储为mobileNumber属性

使用的函数有:

  • __longSum - 计算 2 个或更多 long 值的总和
  • __P - 返回 JMeter 属性的值
  • __setProperty - 为 JMeter 属性赋值
于 2015-01-06T14:42:46.443 回答