1
有沒有人知道爲什麼jmeter在我修改請求正文後通過了空POST。jmeter在BSF預處理器修改請求後發送空的http POST正文數據
我有一個主體(不幸的是我不能將圖像與粘貼)
進行大規模的JSON的請求我有BSF預處理器連接到這個請求:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.jmeter.config.Argument;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
Sampler sampler = ctx.getCurrentSampler();
String param = sampler.getArguments().toString();
String replacerMCI = vars.get("vMainCaseId");
Pattern r = Pattern.compile("(?<=mainCaseId\":\")(\\d{2,})");
Matcher m = r.matcher(param);
String paramRep = m.replaceAll(replacerMCI);
Argument arg = new Argument("", paramRep);
Arguments argList = new Arguments();
argList.addArgument(arg);
sampler.setArguments(argList);
當我記錄到控制檯以查看參數是否被修改我可以看到它有一個新的值,但是當我開始測試時,我看到POST使用空數據發送。
POST https://servername:9443/teamworks/ajaxCoach
POST data:
Cookie Data:
[some cookie data]
德米特里你好! 感謝提示。我改變了一下實施。 現在我直接使用HTTPArgument並且正在發送POST,但是...我發現了另一個問題。 1. POST在請求主體開始時以等號發送 有什麼辦法從消息中刪除這個等號? POST看起來像這樣:= {data:「」; ...} – 2015-04-07 10:11:40
您可以將其作爲'arg.setValue(arg.getValue()。replaceFirst(「\\ =」,「」));' – 2015-04-07 10:49:05
Hurra! ;-) 很簡單。感謝幫助。不幸的是,我沒有足夠的聲望點,所以我不能讚賞。 – 2015-04-07 13:40:04