JMeter - 将线程数传递给多个线程组
JMeter - Passing the number of threads to multiple thread groups
我有一个文件,我在其中指定每个线程组的线程数。
我的目标是运行并发所有线程组与从文件中读取的线程数。
我当前的算法:测试计划中的第一个线程组称为设置。
我读取数据文件到局部变量。
使用 BeanShell 采样器,我将这些变量转换为属性变量。
在每个线程组中,线程数是通过属性变量定义的。
如果我运行线程组连续,没有问题。
但我需要 运行 它们 并行 。我想象线程组可以在设置组完成读取该组的线程数之前尝试 运行。那么那组永远不会运行。
感谢任何想法和建议。
My current algorithm: I have the first Thread Group in the Test Plan
called Setup. I read the data file to the local variables. With the
BeanShell Sampler, I convert those variables into the properties
variables. In each Thread Group, the number of threads is defined via
the properties variable.
您可以使用 Property File Reader。这将在任何线程组启动之前加载。所以你不会遇到任何问题。
如果您不喜欢 属性 文件 Reader,无论您做什么 - 读取数据文件并将它们转换为属性 - 在 setUp Thread Group
中执行。
它将在任何线程组启动之前执行
您可以通过至少两种方式通过 JMeter 属性定义线程数:
在user.properties文件中(该文件位于JMeter的"bin"文件夹中,需要重启JMeter才能选择属性向上)
threads=100
或者您可以通过 -J
命令行参数执行相同的操作,即启动 JMeter 为:
jmeter -Jthreads=100 -n -t ....
在您的线程组中,您可以通过 __P() function 引用 属性,例如:
${__P(threads)}
也可以有 "default" 值,在 "threads" 的情况下使用 属性 不会被定义:
${__P(threads,50)}
参考文献:
我有一个文件,我在其中指定每个线程组的线程数。
我的目标是运行并发所有线程组与从文件中读取的线程数。
我当前的算法:测试计划中的第一个线程组称为设置。
我读取数据文件到局部变量。
使用 BeanShell 采样器,我将这些变量转换为属性变量。
在每个线程组中,线程数是通过属性变量定义的。
如果我运行线程组连续,没有问题。
但我需要 运行 它们 并行 。我想象线程组可以在设置组完成读取该组的线程数之前尝试 运行。那么那组永远不会运行。
感谢任何想法和建议。
My current algorithm: I have the first Thread Group in the Test Plan called Setup. I read the data file to the local variables. With the BeanShell Sampler, I convert those variables into the properties variables. In each Thread Group, the number of threads is defined via the properties variable.
您可以使用 Property File Reader。这将在任何线程组启动之前加载。所以你不会遇到任何问题。
如果您不喜欢 属性 文件 Reader,无论您做什么 - 读取数据文件并将它们转换为属性 - 在 setUp Thread Group
中执行。
它将在任何线程组启动之前执行
您可以通过至少两种方式通过 JMeter 属性定义线程数:
在user.properties文件中(该文件位于JMeter的"bin"文件夹中,需要重启JMeter才能选择属性向上)
threads=100
或者您可以通过
-J
命令行参数执行相同的操作,即启动 JMeter 为:jmeter -Jthreads=100 -n -t ....
在您的线程组中,您可以通过 __P() function 引用 属性,例如:
${__P(threads)}
也可以有 "default" 值,在 "threads" 的情况下使用 属性 不会被定义:
${__P(threads,50)}
参考文献: