2016-05-06 39 views
0

我在其中我创建具有唯一ID的资源的设置线程组,路径,它将给我一个网址,以测试的JMeter国米线程组通信M×N的调用

在主要测试组我要测试每个网址在setupthread组中创建需要经过严格测试。 testplan

在tearDown线程组中,我需要清除设置组的创建。

我面临的问题是,属性值是越来越重写

假设在我创建然后10个资源的最后一个种源总是mainTest线程组是越来越执行

我SetUpthread组说寻找一种方式foreach setupThread组资源mainTest theadgroup必须执行我在TheadCount和LoopCount中指定的次数

例如:setUpThread组ThreadCount是10并且循环次数是10那么我将得到100个不同的unquie资源然后创建它的mainTest ThreadGroup

100 TC,100 LC即对于每个资源它的10000次被调用。

请帮我在这acheiving附加PIC

回答

0

你可以看看http://jmeter-plugins.org/wiki/InterThreadCommunication/插件。

这将有助于你的情况。让我知道这个是否奏效。

+0

感谢您的答复..这里的问题是什么..当我使用队列值作为QUEUENAME $ {} my_counter在后处理器和使用相同的名称,在预处理事与愿违工作。 –

0

如果没有自己的测试计划,很难提出任何建议,所以这里只是一个方法,我不能保证它可以工作,但是这个想法应该没问题。

您需要设置许多属性,您希望在主线程组中打多个URL。

举例来说,如果你写了一些网址在JSR223采样下来使用__counter()功能输出像后缀:

JSR223

,这将产生以下属性:

URL_1=http://some.url 
URL_2=http://some.other.url 
etc. 

后,在第二个线程组可以添加另一个JSR223采样器将JMeter属性转换为JMeter Variables,如:

Enumeration e = props.propertyNames(); 
while (e.hasMoreElements()) { 
    String propertyName = e.nextElement().toString(); 
    if (propertyName.startsWith("URL_")) { 
     vars.put(propertyName, props.getProperty(propertyName)); 
    } 
} 

然后,您应该可以使用ForEach Controller迭代变量。

另外,还要确保你use Groovy as JSR223 PostProcessor and Sampler language

+0

嗨感谢您的回复。 –

+0

谢谢,第一部分我能够成功地完成,第二部分我的意思是第二个线程组,对于每个组我必须给这个列表varnames并使用每个值作为请求中的输入,可否请您分享一下。我已经将所有名称以“URL_”开头的变量名存储在groovy变量'urls'中,然后我将inputvar作为urls [也用$ {urls}尝试过]给予foreach控制器,但它没有工作。 –

+0

也观察到在PostProcessor中引用“参数”的“$ {__ counter(FALSE,)}”会导致计数器的起始位置为2,而不是1 ..我通过解析该计数器到整数并做了1从它..因此,我能够在Foreach循环中使用..现在问题出现在Foreach循环中。 For循环中的输入变量是“invokeGatewayURL”我已经保存了一个名为“invokeGatewayURL_1”的局部变量,其值为$ {__ P(invokeGatewayURL_1)},现在我有时会得到ArrayIndexOutOfBoundsException:1仅用于第一个值。 –