无法从Jmeter中的URL中提取值

时间:2014-08-20 06:56:52

标签: javascript load jmeter load-testing performance-testing

我是 JMeter工具的新手。

我要求录制电子邮件交易。有许多动态值作为URL查询字符串传递。

我无法使用Reg-ex Extractor提取这些值。

这些动态参数值在同一HTTP请求中使用,而不是在下一个/后续请求中使用。

例如:

www.xyz.com/shva?123&abc=LLRRQQ;cdv=AABBCC.  

In the same http request contains parameter abc = LLRRQQ and cdv=AABBCC.  

那么如何从URL查询字符串中动态提取并将其传递给同一个请求。

任何帮助都将受到高度赞赏!

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用Beanshell PreProcessor提取查询字符串参数并将其转换为采样器参数,如下所示:

import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import java.net.URI;
import java.util.List;

URI uri = sampler.getUrl().toURI();

List params = URLEncodedUtils.parse(uri, "UTF-8");

for (NameValuePair param : params) {    
    sampler.addArgument(param.getName(), param.getValue());
    //sampler.addEncodedArgument(param.getName(),param.getValue()); // if you need to encode parameter
}

也许您需要围绕123;位进行一些额外的编码,上面的代码只适用于parametername=parametervalue" classic"网址参数。

有关如何通过Beanshell脚本扩展JMeter测试的高级指南,请参阅How to use BeanShell: JMeter's favorite built-in component

答案 1 :(得分:0)

如果它是相同的请求,则表示您控制参数并已经知道它们。

您的请求的完整情况是什么?