2017-03-09 71 views
1

我有我的多個線程並行運行。 任何請求都可能被任意線程多次觸發。 我已經使用vars.put()將我的請求變量存儲在beanshell中。 我已經使用vars.get()檢索了另一個beanshell中的變量。 但是當Thread並行運行時,我希望在回收一個變量時它應該檢索當前Thread的值。 有點像在java中我們如何使用這個關鍵字並獲取當前對象的屬性。 我該怎麼做?如何在多個線程並行運行時將線程變量保存在jmeter中?

int ThreadNum = ctx.getThreadNum(); 
String[] Request_values= new String[Request_variables.length]; 

我怎麼會conacat線程數的Request_values?

回答

2

你可以把使用vars.putObject( 「」, 「」)您的字符串數組; 在這個時候,你可以在你的密鑰名中連接你的線程號。

int ThreadNum = ctx.getThreadNum(); 
String[] Request_values= new String[Request_variables.length]; 
vars.putObject("Key_"+ThreadNum ,Request_values); 
3

JMeter變量基本上是ThreadLocal因此你不需要做任何事情。

如果您需要訪問線程2中線程1的變量值,則可以使用${__threadNum} function作爲前綴或後綴來將當前線程號附加到JMeter變量名稱。

+0

https://github.com/susiexd/MyJmeter/issues/2能否請您參考此鏈接?我在那裏發表了我的主張。 – ShraddhaJ

+0

非常感謝。我正在嘗試這一個 – ShraddhaJ

+0

請參閱上面的編輯代碼和建議我。 – ShraddhaJ