我想提取通過jmeter發送請求發送的參數值。 我知道使用正則表達式來提取響應值或請求URL,但在這裏我想提取post請求的值。從jmeter發佈請求提取值
我已經徹底how to extract value from request in Jmeter但它沒有奏效。
我想提取通過jmeter發送請求發送的參數值。 我知道使用正則表達式來提取響應值或請求URL,但在這裏我想提取post請求的值。從jmeter發佈請求提取值
我已經徹底how to extract value from request in Jmeter但它沒有奏效。
我用下面的代碼在我的http請求中添加了一個Beanshell PostProcessor。
import org.apache.jmeter.config.Argument;
import org.apache.jmeter.config.Arguments;
Arguments argz = ctx.getCurrentSampler().getArguments();
for (int i = 0; i < argz.getArgumentCount(); i++) {
Argument arg = argz.getArgument(i);
String a = arg.getValue();
vars.put("EMAIL",a);
}
說明:我得到我的請求作爲JSON並將其放入EMAIL中。現在我可以在我的其他請求中使用EMAIL作爲變量。
然後,我添加了一個jp @ gc Json路徑提取器,並將其應用於Jmeter Varaible。 現在,電子郵件將被用作變量,其中包含我的json請求,我可以使用jsonPath提取器進行提取。
不知道你爲什麼需要它給你送「東西」,你應該已經有一個「東西」,因此您無需將其解壓,但是在這裏你去:
爲了節省1參數值(如果使用「Body Data」模式,則爲整個發佈數據):
將下面的代碼到後處理的「腳本」區域:
String request = ctx.getCurrentSampler().getArguments().getArgument(0).getValue();
vars.put("request", request);
你將能夠在需要訪問提取的值作爲${request}
。
澄清:
ctx
- 速記JMeterContext類實例getCurrentSampler()
- 在HTTP請求取樣器的情況下,代表HTTPSamplerProxy有關使用JMeter的和Java How to Use BeanShell: JMeter's Favorite Built-in Component指南瞭解更多信息來自JMeter測試中Beanshell測試元素的API。
一個簡單的方法是使用JSON路徑提取器。
只是有 對於例如你給 { "data" : { "name" : "john_doe", } }
「變量名:YourNewVar」 「JSON路徑:$ .data.name」 應該工作,但是你可能需要做一些試驗。
您可能需要添加一個「調試採樣器」(它的一個標準採樣器)並放入它的標題$ YourNewVar中,以便看到正在提取的內容。
Beanshell和「Regular Expression Extractor」當然會起作用,但如果您不熟悉它們,可能會稍微難一些。
https://kishorsharma69.wordpress.com/2016/10/03/absolute-directory-path-for-jmx-file-jmeter/瞭解更多詳情。 –