我正在使用線程組數量爲5的線程組與HTTP請求。Jmeter當前線程數?
在我想包括與線程數的值,例如一個參數的請求,
"pageno": ${threadno}
我想獲得像${threadno}
線程編號。
我該怎麼做?
我正在使用線程組數量爲5的線程組與HTTP請求。Jmeter當前線程數?
在我想包括與線程數的值,例如一個參數的請求,
"pageno": ${threadno}
我想獲得像${threadno}
線程編號。
我該怎麼做?
${__threadNum}
不能很好地工作孤單。
您將需要使用$ {__ eval($ {__ threadNum})}。 嘗試使用此:
int threadNum=ctx.getThreadGroup().getNumThreads();
CTX是JmeterContext
雖然上述${__threadNum}
將內JMeter的很多地方工作,你需要到別的地方使用它是不允許的,如,Pre/Post-Processors中的腳本元素。
這個答案解釋瞭如何在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
有沒有好的理由不使用'$ {__ threadNum}'函數? –
是的:至少有兩個空格:a)GUI的輸入框在jMeter元素內形成:有'$ {__ threadNum}'就足夠了。但是b)還有腳本區域,主要是JSR223/groovy:需要編程方法'ctx.getThreadNum()'。在程序上,不用預先咀嚼的「變量」,人們幾乎可以隨心所欲地做出決定。 – Franta
爲什麼你需要EVAL多少?記錄的'__threadNum'工作得很好。此外,線程數與當前線程號不同。 –