我是 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查询字符串中动态提取并将其传递给同一个请求。
任何帮助都将受到高度赞赏!
谢谢
答案 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)
如果它是相同的请求,则表示您控制参数并已经知道它们。
您的请求的完整情况是什么?