2017-05-08 426 views
0

我正在使用jmeter遇到一些麻煩。這是我的使用情況中,我使用的CSV數據源參數,以構造一個HTTP POST請求,該請求主體由CSV柱如何在Beanshell預處理器中獲取HTTP POST請求體?

enter image description here

其中包含像${source_id}

enter image description here

一些佔位符讀

我想用jmeter參數替換這些佔位符,我通過正則表達式/ json提取器初始化(從最後一個PUT請求的響應中讀取)。我試着在CSV文件中使用jmeter變量名,但變量值沒有被替換。我想我將不得不使用beanshell預處理器來修改HTTP POST請求主體。任何人都可以幫助我可以用來獲取HTTP POST請求主體的方法。

回答

2

喜歡的東西

String requestBody = sampler.getArguments().getArgument(0).getValue(); 

應該有所幫助。

sampler是父級採樣器類實例的簡寫,在你的情況下它將是HTTPSamplerProxy,請參閱JavaDoc瞭解所有可用的方法和字段。


我會建議考慮JSR223 PreProcessorGroovy語言遷移,因爲它是更快,更少的資源消耗比BeanShell的。有效的Beanshell代碼將是有效的Groovy代碼,所以你應該能夠轉換爲JSR223元素,而不需要做任何修改或者做最少的修改。有關更多詳細信息,請參閱Groovy is the New Black文章。

+0

謝謝!有效 – amitmula