Performance 是否可以使用表达式在JMeter中创建用户定义的变量?
我一直在尝试使用创建一些自动性能测试,我正在Jenkins中设置一个作业,以便人们可以在那里运行它并查看结果 我正在尝试向作业添加一些参数,这些参数对应于线程组中可用的选项。它们是: 用户数 期间内 循环计数 有些人不太理解“上升期”的概念,所以我想让大家把它称为“延迟”,并用它来控制每个线程在开始测试之前等待的时间。这意味着“上升期”应等于用户数量x延迟 我用于运行测试的命令如下:Performance 是否可以使用表达式在JMeter中创建用户定义的变量?,performance,testing,jenkins,jmeter,Performance,Testing,Jenkins,Jmeter,我一直在尝试使用创建一些自动性能测试,我正在Jenkins中设置一个作业,以便人们可以在那里运行它并查看结果 我正在尝试向作业添加一些参数,这些参数对应于线程组中可用的选项。它们是: 用户数 期间内 循环计数 有些人不太理解“上升期”的概念,所以我想让大家把它称为“延迟”,并用它来控制每个线程在开始测试之前等待的时间。这意味着“上升期”应等于用户数量x延迟 我用于运行测试的命令如下: jmeter -n -t <myscript>.jmx -l results.jtl -j jmet
jmeter -n -t <myscript>.jmx -l results.jtl -j jmeter.log -JUSERS=10 -JDELAY=1 -JLOOPS=1
但不幸的是,RAMPUP变量的值不是我所期望的。结果是${USERS}*1
在JMeter中是否有这样做的方法?JMeter变量和属性是字符串,您不能对它们应用算术运算。你的行为完全是意料之中的。此外,在运行时不可能动态更改属性,您必须在将其传递给JMeter之前计算爬升。您可以在测试计划之前添加BSF预处理器,计算用户定义变量的值,并使用
USERS = ${__P(USERS)}
RAMPUP = ${USERS}*${__P(DELAY)}
LOOPS = ${__P(LOOPS)}