Jmeter通过线程数作为动态值

时间:2019-07-30 01:50:34

标签: multithreading variables dynamic foreach jmeter

我有一个主线程,在那里我从那里获取类别列表,我将每个类别从ForEach Controller内部传递到下一个线程。在此线程中,我在变量内获得了许多类别

在第二个线程中,我将遍历每个类别,并使用ForEach Controller将每个产品传递到第三个线程中。在此线程中,我在变量内获得了许多产品。

现在,我想将上述数量的类别和产品用作动态变量,例如: 类别是10,那么第二个线程号应该是10 产品为100,那么我希望100/10 = 3个线程组的10个线程。

我正在成功使用线程间通信处理器,该处理器可以在静态线程数下正常工作,但不能通过线程间通信处理器作为变量传递时 请帮助我

enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 在第一个线程组中,使用__setProperty() function定义所需的线程数,例如:

    ${__setProperty(threads,10, )}
    
  2. 在第二个线程组中,使用__P() function读取值,如:

    ${__P(threads,)}
    

    enter image description here

  3. 就是这样,第二线程组将启动与您在第一个线程中定义的线程一样多的线程

    enter image description here

更多信息:Knit One Pearl Two: How to Use Variables in Different Thread Groups

另外请注意,对于任何形式的脚本,s ince JMeter 3.1 you should be using JSR223 Test Elements and Groovy language都应将Beanshell测试元素转换为JSR223,并确保使用Groovy