JMeter - 将线程数传递给多个线程组

时间:2017-01-11 00:41:25

标签: jmeter jmeter-plugins

我有一个文件,我指定每个线程组的线程数 我的目标是使用从文件中读取的线程数运行并发所有线程组。

我当前的算法:我在测试计划中有第一个名为Setup的线程组 我将数据文件读取到局部变量 使用BeanShell Sampler,我将这些变量转换为属性变量 在每个线程组中,线程数通过属性变量定义。

如果我连续运行主题组 ,则没有问题 但我需要将它们并行运行。我想,在安装组完成读取该组的线程数之前,线程组可以尝试运行。那个小组永远不会跑。

我感谢任何想法和建议。

2 个答案:

答案 0 :(得分:3)

您可以通过至少两种方式通过JMeter属性定义线程数:

  1. user.properties 文件中(该文件位于JMeter' bin"文件夹中,需要重新启动JMeter才能选择属性)

    threads=100
    
  2. 或者您可以通过-J命令行参数执行相同的操作,即启动JMeter:

    jmeter -Jthreads=100 -n -t ....
    
  3. 在您的线程组中,您可以通过__P() function来引用该属性,如:

     ${__P(threads)}
    

    也可能有"默认"将在"线程"的情况下使用的值属性将不会被定义:

    ${__P(threads,50)}
    

    参考文献:

答案 1 :(得分:2)

  

我当前的算法:我在测试计划中有第一个线程组   叫安装。我将数据文件读取到局部变量。随着   BeanShell Sampler,我将这些变量转换为属性   变量。在每个线程组中,线程数通过定义   属性变量。

您可以使用Property File Reader。这将在任何线程组启动之前加载。所以你不会遇到任何问题。

如果您不喜欢Property File Reader,无论您做什么 - 读取数据文件并将其转换为属性 - 都可以在setUp Thread Group中执行此操作。

enter image description here

它将在任何线程组启动之前执行