JMeter变量到List <string>

时间:2018-03-08 15:11:50

标签: jmeter beanshell

这是我的JMeter变量:

workPackagesIds=["2487984","2487985","2487986"]
workPackagesIds_1=2487984
workPackagesIds_2=2487985
workPackagesIds_3=2487986

我想在Post-procesor BeanShell中的FOR EACH Sting循环中使用它。

String filepath ="C:\\result.csv";

f = new FileOutputStream(filepath, true);
p = new PrintStream(f);
this.interpreter.setOut(p);

for(String workPackagesId : vars.get("workPackagesIds")){
    print(workPackagesId);
}

f.close();

但是vars.get("workPackagesIds")它不是List<String>。 我怎样才能改变它?

预期结果是打印例如:2487984或2487985等... 现在我打印:

["2487984","2487985","2487986"]

1 个答案:

答案 0 :(得分:0)

  1. 切换到JSR223 PostProcessor
  2. 使用以下代码

    vars.entrySet().each { var ->
       if (var.getKey().startsWith('workPackagesIds_')) {
           log.info(var.getValue())
       }
    }
    

    演示:

    JMeter Groovy Print Variables

  3. 请注意,截至目前为highly recommended to use the most performing scripting option JSR223 Test ElementsGroovy,请考虑尽快迁移。更多信息:Apache Groovy - Why and How You Should Use It