问题
I am using a Thread Group with Number Of Threads = 5 with an HTTP request.
In the request I want to include a parameter with the value of the thread number, e.g.,
"pageno": ${threadno}
I want to get the thread number like ${threadno}
.
How can I do that?
回答1:
The thread number is available as:
${__threadNum}
See: functions reference
回答2:
While the above-mentioned ${__threadNum}
will work in many places within jMeter, you'll need to use something else where it is not allowed, e.g., script elements within Pre/Post-Processors.
This answer explains how to get thread number or count within such a script in jMeter.
To get the number of the current thread (out of 5 in your case) use ctx.getThreadNum()
which will get the number of the thread.
To get the total number of threads being used by jMeter you can use ctx.getThreadGroup().getNumThreads()
or ctx.getThreadGroup().getNumberOfThreads()
for total active threads.
https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getThreadNum() https://jmeter.apache.org/api/org/apache/jmeter/threads/AbstractThreadGroup.html
回答3:
For those looking for the number of active threads in the entire test plan, not just a particular ThreadGroup.
${__groovy(org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads())}
回答4:
${__threadNum}
does not work well alone.
You will need use ${__eval(${__threadNum})}. Try to use this:
int threadNum=ctx.getThreadGroup().getNumThreads();
ctx is from JmeterContext
来源:https://stackoverflow.com/questions/6452192/jmeter-current-thread-number