当前位置: 首页 > 面试题库 >

JMeter-使用其他BeanShell预处理器/后处理器中的变量吗?

梁华皓
2023-03-14
问题内容

有没有办法从一个BeanShell前置/后处理器到另一个BeanShell处理器 (它们在同一个线程组中) 引用变量?

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

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

+ HTTP请求
+ BeanShell预处理程序:

String preProcessor1_MYID = "Value_1";

+ BeanShell后处理器:

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对象的东西。

任何想法或建议将不胜感激!

预先感谢,
马特


问题答案:

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

存放在一个可变的

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

现在您可以使用

${myvar}

或在豆壳里

vars.get("myvar")

  • 您也可以使用用户定义的变量,属性(在线程组之间共享)。


 类似资料:
  • 在日志中获取以下错误: 上的方法:getName() 下面是Beanshell后处理器中使用的代码。

  • 我如何使用beanshell后处理器来分析来自每个请求的数据?我需要分析请求,如果请求通过-写入文件,如果请求失败-写入其他文件。任何机构都可以为这种情况编写简单的示例脚本?

  • 我需要测试rest api发布JSON。我尝试使用JMeter通过BeanShell后处理器发布Json数据。但是BeanShell后处理器不工作或者我写不出正确的代码。 我的Json是:{“email”:“selin@xxx.com”,“password”:“123”} 你可以在下面的图片中看到我做了什么。

  • 如何更正此代码?谢谢

  • 预处理器元素在采样器发出请求之前执行,如果预处理器附加到采样器元素,那么它将在该采样器元素运行之前执行。 预处理器元素用于在运行之前修改样本请求的设置,或更新未从响应文本中提取的变量。 以下是JMeter提供的所有预处理器元素的列表: JDBC预处理器 JSR223预处理器 RegEx用户参数 BeanShell预处理器 BSF预处理器 HTML链接解析器 HTTP URL重写修饰符 HTTP用户

  • > 下面有一个json响应数组,我正在将它放入Jmeter正则表达式提取器变量中。 在这里,我有JSON对象。 在JSON对象中,我们有不同的SKU和相应的数量。 我正在使用一个hashmap从CSV文件中读取值,并更新每个SKU的数量细节,但我的脚本无法将响应取到JMeter中的数组中。 最后,我将分享解析JSON数组时遇到的Jmeter代码和错误 我看到很多帖子建议groovy,我不知道如何使