Jmeter:BeanshellAssertion错误:在类中找不到方法

问题描述

我只是想从jdbc采样器读取响应并将其用于http请求。

我在jdbc请求下创建了一个BeanShellAssertion脚本,只编写了以下代码

if(vars.getobjects("jdbcresult1").size!=0)
{
   String jdbcresult1=vars.getobjects("jdbcresult1").get(0).get("jdbctrackingnumber1")+"";
   vars.put("trackingnumber1",jdbcresult1);
   log.info("TrackingNumber1 is: "+trackingnumber1);
}

错误

2020-08-13 23:32:47,030错误o.a.j.u.BeanShellInterpreter:错误 调用bsh方法:eval源文件:内联评估:``导入 java.lang.Object; if(vars.getobjects(“ jdbcresult1”)。size!= 0){
字串。 。 。 '':方法调用中的错误方法getobjects( 在以下位置找不到java.lang.String) class'org.apache.jmeter.threads.JMeterVariables'

2020-08-13 23:32:47,030警告o.a.j.a.BeanShellAssertion:错误 BeanShellAssertion

问题1::如何确定应该使用什么编写代码来读取jdbcresponse值: 一种。豆壳断言 b。 beanshell后处理器 C。 beanshelllistener

问题2:解决原始问题的方法,以解决错误

解决方法

问题在于:

 vars.getObjects(...) 

不存在。

应该是:

 vars.getObject(...)

请参阅:

另外,最好使用JSR223断言: