JMeter - 使用其他BeanShell Pre / Post-Processors的变量?

时间:2015-04-28 16:30:05

标签: jmeter var beanshell

有没有办法将变量从一个BeanShell Pre / Post-Processor引用到另一个BeanShell Processor (它们在同一个Thread Group中)

如果我在HTTP请求下的BeanShell PreProcessor中创建一个String变量,那么我可以在同一个HTTP请求下的BeanShell PostProcessor中使用或引用该变量吗?

我尝试通过以下方式访问此变量:

+ HTTP请求
+ BeanShell PreProcessor:

String preProcessor1_MYID = "Value_1";

+ BeanShell PostProcessor:

String postProcessor1_MYID = "Value_2";
//Try #1:
String tmp_preProcessor1_MYID = preProcessor1_MYID;
//Try #2:
String tmp_preProcessor1_MYID = ${preProcessor1_MYID};
//Try #3:
String tmp_preProcessor1_MYID = ${__V(preProcessor1_MYID)};
//Try #4:
String tmp_preProcessor1_MYID = vars.get("preProcessor1_MYID");


是否有一个不同的函数,如$ {__ V()}或vars.get(),我错过了我应该使用的?我还想知道我是否需要一个User Defined Variables对象才能在BeanShell Pre / PostProcessors之间共享这个变量,但我不确定。我也读过$ {__ BeanShell()}函数,但是我认为这也不是我想要的......有什么想法吗?我认为这应该是可能的,但我希望我不需要添加像User-Defined Vars对象那样的东西。

非常感谢任何想法或建议!

先谢谢,
马特

1 个答案:

答案 0 :(得分:3)

如果您稍后需要在其他元素中使用该值,

将其存储在可维护的

vars.put("myvar", "value");

现在您可以使用

访问它

${myvar}

或在beanshell中

vars.get("myvar")