我正在使用一个线程组,其中Number of Threads = 5,带有HTTP请求。
在请求中,我想要包含一个带有线程号值的参数,例如
"pageno": ${threadno}
我希望获得类似${threadno}
的线程编号。
我该怎么做?
答案 0 :(得分:45)
答案 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