【问题标题】:Fillo to get record count in Groovy failedFillo 在 Groovy 中获取记录计数失败
【发布时间】:2026-02-02 00:20:03
【问题描述】:

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

我尝试使用以下代码:

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

但是当我在JSR223 SamplerJMeter 中执行它时收到错误消息。 12 是正确的记录数。

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

【问题讨论】:

    标签: groovy jmeter jsr223


    【解决方案1】:

    JMeterVariables的put方法的key/value是String类型,所以改变类型:

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

    如果recordset.getCount() 返回String 你可以把它分配给rcount

    【讨论】:

      【解决方案2】:
      1. 无需将Recordset.getCount() 函数的输出转换为Integer,因为它已经是整数。
      2. vars.put() function 接受 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

      【讨论】: