Jmeter: BeanshellAssertion Error: Method Not Found In Class
Jmeter: BeanshellAssertion Error: Method Not Found In Class
我只想读取来自 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 ERROR o.a.j.u.BeanShellInterpreter: Error
invoking bsh method: eval Sourced file: inline evaluation of: ``import
java.lang.Object; if(vars.getObjects("jdbcresult1").size!=0) {
String . . . '' : Error in method invocation: Method getObjects(
java.lang.String ) not found in
class'org.apache.jmeter.threads.JMeterVariables'
2020-08-13 23:32:47,030 WARN o.a.j.a.BeanShellAssertion: Error in
BeanShellAssertion
问题1:你如何决定应该使用什么来编写代码来读取jdbc响应值:
一种。豆壳断言
b. beanshell后处理器
C。豆壳监听器
问题2:原问题的解决方法,解决错误?
问题在于:
vars.getObjects(...)
不存在。
应该是:
vars.getObject(...)
参见:
另外最好使用JSR223断言:
我只想读取来自 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 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.lang.Object; if(vars.getObjects("jdbcresult1").size!=0) {
String . . . '' : Error in method invocation: Method getObjects( java.lang.String ) not found in class'org.apache.jmeter.threads.JMeterVariables'2020-08-13 23:32:47,030 WARN o.a.j.a.BeanShellAssertion: Error in BeanShellAssertion
问题1:你如何决定应该使用什么来编写代码来读取jdbc响应值: 一种。豆壳断言 b. beanshell后处理器 C。豆壳监听器
问题2:原问题的解决方法,解决错误?
问题在于:
vars.getObjects(...)
不存在。
应该是:
vars.getObject(...)
参见:
另外最好使用JSR223断言: