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

JMeter-将线程数传递给多个线程组,jmeter,jmeter-plugins,Jmeter,Jmeter Plugins,我有一个文件,其中指定了每个线程组的线程数。 我的目标是使用从文件中读取的线程数并发运行所有线程组 我当前的算法:我有测试计划中的第一个线程组Setup。 我将数据文件读取到局部变量。 使用BeanShell采样器,我将这些变量转换为属性变量。 在每个线程组中,线程数通过properties变量定义 如果连续运行线程组,则不会出现问题。 但是我需要并行运行它们。我认为线程组可以在安装组读取完该组的线程数之前尝试运行。那这个团体就永远不会跑了 我感谢你的任何想法和建议 我当前的算法:我有测试计划中

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

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

如果连续运行线程组,则不会出现问题。
但是我需要并行运行它们。我认为线程组可以在安装组读取完该组的线程数之前尝试运行。那这个团体就永远不会跑了

我感谢你的任何想法和建议

我当前的算法:我有测试计划中的第一个线程组 称为设置。我将数据文件读取到局部变量。和 BeanShell采样器,我将这些变量转换为属性 变量。在每个线程组中,线程数通过 属性变量

你可以用。这将在任何线程组启动之前加载。所以你不会面对任何问题

如果您不喜欢属性文件读取器,无论您做什么—读取数据文件并将其转换为属性—都可以在
设置线程组中执行该操作

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

我当前的算法:我有测试计划中的第一个线程组 称为设置。我将数据文件读取到局部变量。和 BeanShell采样器,我将这些变量转换为属性 变量。在每个线程组中,线程数通过 属性变量

你可以用。这将在任何线程组启动之前加载。所以你不会面对任何问题

如果您不喜欢属性文件读取器,无论您做什么—读取数据文件并将其转换为属性—都可以在
设置线程组中执行该操作


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

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

  • 在user.properties文件中(该文件位于JMeter的“bin”文件夹中,需要重新启动JMeter才能获取属性)

  • 或者您也可以通过
    -J
    命令行参数执行相同的操作,即启动JMeter,如下所示:

    jmeter -Jthreads=100 -n -t ....
    
  • 在线程组中,您可以通过以下方式引用属性:

    也可以有“默认”值,该值将在未定义“线程”属性的情况下使用:

    ${__P(threads,50)}
    
    参考资料:


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

  • 在user.properties文件中(该文件位于JMeter的“bin”文件夹中,需要重新启动JMeter才能获取属性)

  • 或者您也可以通过
    -J
    命令行参数执行相同的操作,即启动JMeter,如下所示:

    jmeter -Jthreads=100 -n -t ....
    
  • 在线程组中,您可以通过以下方式引用属性:

    也可以有“默认”值,该值将在未定义“线程”属性的情况下使用:

    ${__P(threads,50)}
    
    参考资料:


    我喜欢使用属性文件管理器,但我需要从JSON文件读取数据,而不是从键/值对读取数据。安装组是否在我想并行运行测试组之前执行一次?“安装组在我想并行运行测试组之前执行一次”-是。这将首先被执行。谢谢你,维诺。@Vladimir,很高兴你这么做helped@vins但是groupsI-like-you属性文件管理器之间没有相关性,但是我需要从JSON文件中读取数据,而不是键/值对。安装组是否在我想并行运行测试组之前执行一次?“安装组在我想并行运行测试组之前执行一次”-是。这将首先被执行。谢谢你,维诺。@Vladimir,很高兴你这么做helped@vins但是groupsDmitri之间没有相关性,我需要从一个JSON文件中读取每个线程组的线程数。我需要并行运行所有测试组。如果在测试计划的开头有一个专用的线程组(我们称之为Config),用于读取JSON文件并将其转换为属性变量,那么我猜可能是测试线程组准备运行,但Config组没有完成读取该组的线程数。这意味着该组将永远不会运行,因为线程的数量尚未定义。使用with 1 user和1 loop读取JSON。您可以使用sampler使用
    文件
    协议来读取值,请查看方法的详细信息谢谢,Dmitri.Dmitri,我需要从一个JSON文件中读取每个线程组的线程数。我需要并行运行所有测试组。如果在测试计划的开头有一个专用的线程组(我们称之为Config),用于读取JSON文件并将其转换为属性变量,那么我猜可能是测试线程组准备运行,但Config组没有完成读取该组的线程数。这意味着该组将永远不会运行,因为线程的数量尚未定义。使用with 1 user和1 loop读取JSON。您可以使用
    文件
    协议使用采样器,要读取值,请查看有关方法的详细信息谢谢,Dmitri。