Jmeter当前线程号?

时间:2011-06-23 09:51:50

标签: multithreading jmeter

我正在使用一个线程组,其中Number of Threads = 5,带有HTTP请求。

在请求中,我想要包含一个带有线程号值的参数,例如

"pageno": ${threadno}

我希望获得类似${threadno}的线程编号。

我该怎么做?

4 个答案:

答案 0 :(得分:45)

线程编号可用:

${__threadNum}

请参阅:functions reference

答案 1 :(得分:19)

虽然上述${__threadNum}可以在jMeter中的许多地方使用,但您需要在不允许的地方使用其他内容,例如,前/后处理器中的脚本元素。

此答案解释了如何在jMeter中的此类脚本中获取线程编号或计数。

要获取当前线程的编号(在您的情况下为5),请使用ctx.getThreadNum()来获取线程的编号。

要获取jMeter使用的线程总数,您可以使用ctx.getThreadGroup().getNumThreads()ctx.getThreadGroup().getNumberOfThreads()作为总活动线程。

https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getThreadNum() https://jmeter.apache.org/api/org/apache/jmeter/threads/AbstractThreadGroup.html

答案 2 :(得分:2)

对于那些在整个测试计划中寻找活动线程数的人,而不仅仅是特定的ThreadGroup。

${__groovy(org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads())}

答案 3 :(得分:-2)

${__threadNum}无法单独运作。

您需要使用$ {__ eval($ {__ threadNum})}。 试着用这个:

int threadNum=ctx.getThreadGroup().getNumThreads(); 

ctx来自JmeterContext