从变量 jMeter beanshell 脚本中检索某些值
Posted
技术标签:
【中文标题】从变量 jMeter beanshell 脚本中检索某些值【英文标题】:Retrieving certain values from a variable jMeter beanshell script 【发布时间】:2016-02-07 22:03:40 【问题描述】:目前在 jMeter 中开发一个脚本,我需要从响应中检索 x 数量的值,然后将这些值推送到另一个 HTTP 请求中,这是响应的棘手部分是一个总是变化的表(例如,行增加或减少每个运行测试的时间)到目前为止,我已经创建了一个 Regex 提取器,它可以检索表之间的任何内容现在我需要创建一个 beanshell 后处理器,它从 Regex 提取器检索到的变量中检索某些值并将它们应用于 HTTP 请求.我不确定这是否是最好的方法,因此我愿意接受有关另一种方法的建议。
【问题讨论】:
【参考方案1】:-
您需要将 Beanshell PreProcessor 应用于第二个请求,而不是将 PostProcessor 应用于第一个请求
我不认为使用正则表达式来解析 html 是个好主意,我建议改用 CSS/JQuery Extractor 或 XPath Extractor
一旦您以
的形式获得所需的值var_1=foo
var_2=bar
var_MatchNr=2
您将能够将这些值添加到第二个 HTTP 请求中,例如:
import java.util.Iterator;
import java.util.Map;
Iterator iter = vars.getIterator();
int counter = 1;
while (iter.hasNext())
Map.Entry e = (Map.Entry)iter.next();
if (e.getValue() != null)
if (e.getKey().toString().startsWith("var_") && e.getValue().toString().length() >0)
sampler.addArgument("param" + counter, e.getValue().toString());
counter++;
【讨论】:
以上是关于从变量 jMeter beanshell 脚本中检索某些值的主要内容,如果未能解决你的问题,请参考以下文章
JMeter学习-033-JMeter BeanShell 脚本应用实例之参数变量修改