java - 增量测试数据(手机号)进行负载测试100万注册

标签 java multithreading groovy jmeter jsr

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

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

最简单的解决方案是将 mobileNumber 设置为 ${random(${min},${max})}。但我想避免它并通过使用 property mobileNumber

获得更线性的方法

在 JSR223 Sampler(使用 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 属性

使用的函数有:

关于java - 增量测试数据(手机号)进行负载测试100万注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27797811/

相关文章:

multithreading - 用于开发 CLI 应用程序/脚本的最佳/流行库是什么?

android - 如何使用 RunOnUiThread 更新屏幕上的一些 TextView

Groovy 的 "optional return"语义

grails - Groovy,Grails;每周为变量添加+1

Java 与 C# 毫秒时间戳生成

Java:在子类化中使用通用通配符

java - 用 Java 实现 UML 图

java - 是内存泄漏吗?

c# - ManualResetEvent 与 Thread.Sleep

java - 将 SoapUI 插件与 Jenkins 集成