2011-12-05 40 views
1

我正在運行一組線程組(連續),我需要在每個線程組的起始位置重置一些參數,以便它們具有唯一值。用戶參數定義中的調用函數

目前我使用測試片段引用User Paramaters節點,並將該值設置爲value-${__time()}。不幸的是,這導致價值被逐字使用(沒有解決時間)。

是否有更好的方法來實現包含函數調用的每個線程組變量?

回答

2

對我來說工作很好(Jmeter 2.5.1),按照下面的例子。
將樣本參數設置爲${__time(HMS,)}value-${__time()}爲每個線程(在這種情況下:3個線程組,5個線程@ 3個循環)成功解析,生成和更新(每次迭代一次)。

user params example

能否請您爲什麼要通過Test Fragment使用用戶參數(根據您的文章)回答?

...而且幾篇文章,僅供參考:
Parametrization in JMeter with user parameter
JMeter Variables vs. Properties. vs. Parameters

更新:

請在下面找到結果,例如與兩個用戶PARAMS和測試邏輯放入試驗片和從模塊控制器調用。
工作方式與上面的示例相同:成功解析,保存在獨立循環中的採樣器之間,並在每個線程的循環之間更新(每次迭代一次)(好吧,我在屏幕上評論其餘線程組以獲得輸出只有第一個;所有TGs都可以正常工作)。

user params example with test fragment

我想你也可以嘗試把用戶PARAMS配置從測試片段的每個線程組和測試片段只留下測試邏輯 - 如果上述方案仍然不會爲你工作:

user params example with test fragment

這不是很好,但模塊控制器和包含控制器仍然相當「錯誤」,有時不可預知。

您也可以嘗試在您的場景中調試問題控制器:選擇控制器>單擊jmeter主菜單中的幫助>單擊啓用調試>查看jmeter.log以獲取執行後的詳細信息。


您還可以欣賞到定製Parameterized Controller - 也許它會更好地工作。

+1

RE測試片段中的用戶參數,因爲它避免了用戶參數節點的重複。 –

+0

你可以嘗試以下嗎?不要複製User Paramters + BeanShell Sampler,而要將其移入測試片段中,併爲每個線程調用模塊控制器以運行該測試片段。當我這樣做時,變量不能解決。 –

+0

請參閱上面的更新。 –

相關問題