从变量jMeter beanshell脚本中检索某些值

时间:2016-02-07 22:03:41

标签: jmeter beanshell

目前在jMeter中开发一个脚本,我需要从响应中检索x个值,然后将这些值推送到另一个HTTP请求中,这里是一个棘手的部分,响应是一个总是在变化的表(例如行增加或减少每个到目前为止我已经创建了一个Regex提取器,它可以检索表之间的任何内容,现在我需要创建一个beanshell post处理器,它从Regex提取器检索的变量中检索某些值并将它们应用到HTTP请求。我不确定这是否是最佳方式,所以我愿意接受另一种方式的建议。

1 个答案:

答案 0 :(得分:0)

  1. 您需要Beanshell PreProcessor应用于第二个请求,而不是应用于第一个请求的PostProcessor
  2. 我不认为使用正则表达式是解析HTML的好主意,我建议改为CSS/JQuery ExtractorXPath Extractor
  3. 一旦您需要

    形式的值
    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++;
           }
       }
    }