在使用Jmeter的控制器中使用BeanShell PostProcessor

时间:2015-03-04 11:21:58

标签: jmeter

我试图创建一个包含Regex变量的文件。 我使用BeanShell PostProcessor来创建从vars中添加值的文件。 我想将它添加到If控制器中,这样只有当条件为True时才会将值添加到文件中。

我的BeanShell代码是:

artLink = vars.get("artLink");


// If you want to overwrite, then don't pass the second argument
f = new FileOutputStream("result3.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(artLink);
f.close();

当我从Bean Controller中取出BeanShell时,它会创建一个文件,但是当我把它放回去时,没有创建任何文件。 所以我猜问题是If条件。

我的If条件是:

"${notFound}"=="AA"

" notFound"是正则表达式变量和" AA"是默认值。

所以我的问题是,如果BeanShell PostProcessor不能在If控制器下完成,还是我的IF条件会导致问题呢?

1 个答案:

答案 0 :(得分:1)

如果If控制器下没有其他采样器

Beanshell Post Processor将不会被执行。

所以选项是:

  1. 从Beanshell Post Processor切换到Beanshell Sampler
  2. 添加另一个无效的采样器,即Dummy Sampler作为If Controller
  3. 的子级

    有关Apache JMeter中的Beanshell脚本和一种Beanshell食谱的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。