Fillo在Groovy中获取记录数失败

时间:2019-02-05 14:43:00

标签: groovy jmeter jsr223

我使用Filloxls获取值。我需要获取记录数,

我尝试使用以下代码:

Recordset recordset=connection.executeQuery(strQuery);
int rcount = recordset.getCount().toInteger();
vars.put(rcount, rcount);

但是在JSR223 Sampler的{​​{1}}中执行该错误消息。正确的记录数是12。

  

javax.script.ScriptException:groovy.lang.MissingMethodException:否   方法的签名:org.apache.jmeter.threads.JMeterVariables.put()   适用于参数类型:(java.lang.Integer,   java.lang.Integer)值:[12,12]可能的解决方案:   put(java.lang.String,java.lang.String),wait(),dump(),any(),   wait(long,int),get(java.lang.String)

2 个答案:

答案 0 :(得分:1)

JMeterVariables的put方法的键/值是String类型,因此请更改类型:

Recordset recordset=connection.executeQuery(strQuery);
String rcount = String.valueOf(recordset.getCount().toInteger());
vars.put(rcount, rcount);

如果recordset.getCount()返回String,您可以将其分配给rcount

答案 1 :(得分:1)

  1. 无需将Recordset.getCount()函数的输出转换为Integer,因为它已经已经为整数。
  2. vars.put() function接受一个String作为参数,因此,如果要继续使用此方法,则应将记录数转换为类似String的字符串:

    vars.put("rcount", rcount as String);
    
  3. vars.putObject() function可以将任意Java Object(或派生词)存储到JMeter变量中,因此,如果稍后将rcount变量转换回整数-选择此功能而不是进行2次强制转换很有意义:

     vars.putObject("rcount", rcount);
    

更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy