【发布时间】:2013-12-16 10:01:49
【问题描述】:
是否可以从 jmeter 的文件中加载一些额外的 http 请求参数? 我的用例是我发送给 SOLR 的过滤器查询参数都具有完全相同的名称,但值不同:
fq=Field1:Value1&fq=Field2:Value2&fq=Field3:Value3
到目前为止的 bean shell 脚本是:
String line = vars.get("facets");
if(line != null) {
StringTokenizer st = new StringTokenizer(line, ",");
while (st.hasMoreTokens()) {
String filterQ = st.nextToken();
String varname = "fq";
vars.put(varname,filterQ);
}
}
由于 vars 是一种类似“哈希映射”的数据结构,具有唯一键,因此不能同时提供许多 fq 参数。
我正在考虑使用带有这些 fq 参数的文件,但有人知道如何使它们附加到 HTTP 请求元素中配置的现有 http 参数吗?
更新。总结下面的答案,这就是我所做的:
将 BeanShell PreProcessor 添加为 HttpRequest 的子项
-
把上面的代码改成:
String line = vars.get("facets");
如果(行!= null){ StringTokenizer st = new StringTokenizer(line, ",");
while (st.hasMoreTokens()) { String filterQ = st.nextToken(); // add fq parameter and its value to the http request body String paramName = "fq"; ctx.getCurrentSampler().addArgument(paramName, filterQ); }}
【问题讨论】: