无法在Jmeter中从URL中提取值

Unable to Extract Value from URL in Jmeter

本文关键字:提取 URL 中从 Jmeter      更新时间:2023-09-26

我是新的JMeter工具。

我需要记录一个电子邮件交易。作为URL查询字符串传递的动态值有很多。

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

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

例如:

www.xyz.com/shva?123&abc=LLRRQQ;cdv=AABBCC.  
In the same http request contains parameter abc = LLRRQQ and cdv=AABBCC.  
那么如何动态地从URL查询字符串中提取并将其传递给相同的请求。

任何帮助将非常感激!

谢谢

您可以使用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"经典"URL参数。

参见如何使用BeanShell: JMeter最喜欢的内置组件,获得如何通过BeanShell脚本扩展JMeter测试的高级指南。

如果是相同的请求,那么这意味着你控制了参数,并且已经知道了它们。

请求的完整场景是什么?