performance - 是否可以使用表达式在 JMeter 中创建用户定义变量?

标签 performance testing jenkins jmeter

我一直在尝试使用 JMeter创建一些自动化的性能测试,我正在 Jenkins 中设置一个工作,以便人们可以运行它并在那里查看结果。

我正在尝试向作业添加一些参数,这些参数与线程组中可用的选项相对应。它们是:

  • 用户数量
  • 加速期
  • 循环次数

有些人不太理解“加速期”的概念,所以我想将其称为“延迟”,并用它来控制每个线程在开始测试之前等待的时间。这意味着“加速期”应等于(用户数 x 延迟)。

我用来运行测试的命令如下:

jmeter -n -t <myscript>.jmx -l results.jtl -j jmeter.log -JUSERS=10 -JDELAY=1 -JLOOPS=1

变量看起来像这样:

USERS = ${__P(USERS)}
RAMPUP = ${USERS}*${__P(DELAY)}
LOOPS = ${__P(LOOPS)}

但不幸的是,RAMPUP 变量的值不是我所期望的。它最终是“${USERS}*1”

有没有办法在 JMeter 中做到这一点?

最佳答案

JMeter 变量和属性是字符串,不能对它们进行算术运算。你得到的行为是绝对预期的。此外,也无法在运行时动态更改属性,您必须在将其传递给 JMeter 之前计算加速。

关于performance - 是否可以使用表达式在 JMeter 中创建用户定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626189/

相关文章:

maven - Jenkins Pipeline 和 SonarQube 设置

php - 将数据从文件写入数据库并更新旧数据

python - 忽略旧的UDP数据包Python

selenium - 使用 selenium webdriver 预先记录的步骤进行性能/负载测试

django - Jenkins JUnit 插件给出错误 "ERROR: No test report files were found. Configuration error?"

tomcat - Jenkins 部署在 Tomcat 7 上失败,java.io.FileNotFoundException : http://localhost:8081/manager/text/list

Java:为什么计算比赋值(int)更快?

MySQL SQL 性能需要一些改进

unit-testing - 测试中的整个单轨操作调用

iphone - 快速测试 iOS 和 Objective-C 代码