jmeter http请求,beanshell预处理器输出显示在方括号中

时间:2016-06-08 10:02:43

标签: jmeter

我使用jmeter正则表达式提取位于子样本请求中的URL。该网址已转义,例如:%3D%3F。为了解开这些问题,我使用了beanshell预处理器并替换了所有这些特殊字符。但是,当我在HTTP请求中使用此变量(url)时,会使用方括号

进行解析

bean shell预处理器的代码片段:

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变量时,sampler正在按如下方式解析它。

https://[xyz?ID=Login-ID&goto=http://uri/?ReqID=abcdefghijklmnop]

jmeter test plan -> 
thread -> 
http request
  -> regex
http request
  -> bean shell preprocessor
你可以帮我解决这个问题吗

1 个答案:

答案 0 :(得分:1)

我的期望是您在"服务器名称或IP"中使用${URL}变量。当它需要去" Path"

URL in PATH

此外,我非常确定可以获得更多"清洁"正则表达式提取器中的URL。检查以下材料: