根据“循环计数”值更改JMeter中的线程数值

问题描述

我想根据Loop Count值更改JMeter中的线程值数量。 当“循环计数”值为1时,“线程数”值为1。 ``循环计数''值为2时的线程数值 当“循环计数”值为n时,我想将“线程数”值更改为n。 我们该怎么做?

现在JMeter正在使用5.3。

解决方法

您可以对线程和循环计数使用相同(或不同)的属性,例如

在“线程组”上,设置线程数和循环计数获取属性方法

 ${__P(count)}

并在命令行中发送属性:

jmeter -n -Jcount=4 -t your.jmx

对于计数4,流将执行16次(4个线程* 4个循环)

,

您的请求的性质不是很清楚,因为您知道可以使用与线程数相同的JMeter VariableJMeter Property的循环数

随便。您可以通过以下方法将测试计划中每个线程组的线程数更改为等于该线程组的循环数:

  1. 在测试计划中添加setUp Thread Group

  2. 向设置线程组添加JSR223 Sampler

  3. 将以下代码放入“脚本”区域

    SampleResult.setIgnore()
    
    def engine = engine = ctx.getEngine()
    def testPlan = engine.test
    def threadGroupSearch = new org.apache.jorphan.collections.SearchByClass<>(org.apache.jmeter.threads.ThreadGroup.class)
    testPlan.traverse(threadGroupSearch)
    threadGroupSearch.getSearchResults().each { threadGroup ->
        def loops = threadGroup.getSamplerController().getPropertyAsInt('LoopController.loops')
        threadGroup.setNumThreads(loops)
    }