我使用jmeter正則表達式提取位於子示例請求中的URL。該URL被轉義,例如:具有%3D
,%3F
。爲了避免這些,我使用了beanshell預處理器並替換了所有這些特殊字符。但是當我使用在HTTP請求該變量(url
)其得到解析用方括號豆殼預處理器的jmeter http請求,beanshell預處理器輸出顯示在方括號中
代碼剪斷:
url = vars.get("escapedUri"); //get escaped url from the regular expression
url = url.replaceAll("%3A", ":"); //replace special characters with :,/,=,?
url = url.replaceAll("%2F", "/");
url = url.replaceAll("%3F", "?");
url = url.replaceAll("%3D", "=");
log.info ("escaped uri chng : " + url);
vars.put("URL", url);
在日誌文件中打印時的URL被適當地顯示:
xyz?ID=Login-ID&goto=http://uri/?ReqID=abcdefghijklmnop
當我嘗試在HTTP請求採樣器中使用此URL變量時,解析它如下。
https://[xyz?ID=Login-ID&goto=http://uri/?ReqID=abcdefghijklmnop]
jmeter test plan ->
thread ->
http request
-> regex
http request
-> bean shell preprocessor
可以請你幫我解決這個問題
也看到這個問題,當我們使用內置函數 「$ {__ urldecode($ {} escapedUri)}」。 – karthik