Fillo 获取 Groovy 中的记录数失败

Fillo to get record count in Groovy failed

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

我尝试使用以下代码:

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

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

javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.jmeter.threads.JMeterVariables.put() is applicable for argument types: (java.lang.Integer, java.lang.Integer) values: [12, 12] Possible solutions: put(java.lang.String, java.lang.String), wait(), dump(), any(), wait(long, int), get(java.lang.String)

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

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

if recordset.getCount() return String 你可以把它分配给 rcount

  1. 不需要将 Recordset.getCount() 函数的输出转换为 Integer,因为它 已经是 整数。
  2. vars.put() function accepts a String 作为参数,所以如果你想继续使用这种方法——你应该将记录数转换成一个字符串,如:

    vars.put("rcount", rcount as String);
    
  3. JMeter 变量中有 vars.putObject() function which can store an arbitrary Java Object(或派生词),因此如果稍后您将 rcount 变量转换回整数 - 这样做是有意义的这个函数而不是做 2 次转换:

     vars.putObject("rcount", rcount);
    

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