我正在運行一組線程組(連續),我需要在每個線程組的起始位置重置一些參數,以便它們具有唯一值。用戶參數定義中的調用函數
目前我使用測試片段引用User Paramaters
節點,並將該值設置爲value-${__time()}
。不幸的是,這導致價值被逐字使用(沒有解決時間)。
是否有更好的方法來實現包含函數調用的每個線程組變量?
我正在運行一組線程組(連續),我需要在每個線程組的起始位置重置一些參數,以便它們具有唯一值。用戶參數定義中的調用函數
目前我使用測試片段引用User Paramaters
節點,並將該值設置爲value-${__time()}
。不幸的是,這導致價值被逐字使用(沒有解決時間)。
是否有更好的方法來實現包含函數調用的每個線程組變量?
對我來說工作很好(Jmeter 2.5.1),按照下面的例子。
將樣本參數設置爲${__time(HMS,)}
和value-${__time()}
爲每個線程(在這種情況下:3個線程組,5個線程@ 3個循環)成功解析,生成和更新(每次迭代一次)。
能否請您爲什麼要通過Test Fragment使用用戶參數(根據您的文章)回答?
...而且幾篇文章,僅供參考:
Parametrization in JMeter with user parameter
JMeter Variables vs. Properties. vs. Parameters
更新:
請在下面找到結果,例如與兩個用戶PARAMS和測試邏輯放入試驗片和從模塊控制器調用。
工作方式與上面的示例相同:成功解析,保存在獨立循環中的採樣器之間,並在每個線程的循環之間更新(每次迭代一次)(好吧,我在屏幕上評論其餘線程組以獲得輸出只有第一個;所有TGs都可以正常工作)。
我想你也可以嘗試把用戶PARAMS配置從測試片段的每個線程組和測試片段只留下測試邏輯 - 如果上述方案仍然不會爲你工作:
這不是很好,但模塊控制器和包含控制器仍然相當「錯誤」,有時不可預知。
您也可以嘗試在您的場景中調試問題控制器:選擇控制器>單擊jmeter主菜單中的幫助>單擊啓用調試>查看jmeter.log以獲取執行後的詳細信息。
您還可以欣賞到定製Parameterized Controller - 也許它會更好地工作。
RE測試片段中的用戶參數,因爲它避免了用戶參數節點的重複。 –
你可以嘗試以下嗎?不要複製User Paramters + BeanShell Sampler,而要將其移入測試片段中,併爲每個線程調用模塊控制器以運行該測試片段。當我這樣做時,變量不能解決。 –
請參閱上面的更新。 –