Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 是否可以使用表达式在JMeter中创建用户定义的变量?_Performance_Testing_Jenkins_Jmeter - Fatal编程技术网

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

Performance 是否可以使用表达式在JMeter中创建用户定义的变量?,performance,testing,jenkins,jmeter,Performance,Testing,Jenkins,Jmeter,我一直在尝试使用创建一些自动性能测试,我正在Jenkins中设置一个作业,以便人们可以在那里运行它并查看结果 我正在尝试向作业添加一些参数,这些参数对应于线程组中可用的选项。它们是: 用户数 期间内 循环计数 有些人不太理解“上升期”的概念,所以我想让大家把它称为“延迟”,并用它来控制每个线程在开始测试之前等待的时间。这意味着“上升期”应等于用户数量x延迟 我用于运行测试的命令如下: jmeter -n -t <myscript>.jmx -l results.jtl -j jmet

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

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

用户数 期间内 循环计数 有些人不太理解“上升期”的概念,所以我想让大家把它称为“延迟”,并用它来控制每个线程在开始测试之前等待的时间。这意味着“上升期”应等于用户数量x延迟

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

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)}