jmeter 中的 BeanShell 后处理器

BeanShell PostProcessor in jmeter

我在 BeanShell PostProcessor 中有这样的代码,

import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
import java.util.*; 
String response = prev.getResponseDataAsString();
JSONParser parser = new JSONParser();
JSONArray GroupList = (JSONArray) parser.parse(response);
JSONArray GroupIds = new JSONArray();
while (i.hasNext()) 
{
JSONObject objGroup = (JSONObject) i.next();
  GroupIds.push(i.next().get("id"));
  var.put("GroupIds",GroupIds);
}

log.info(GroupIds);

当我尝试 运行 测试时,它显示错误,

jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.simple.JSONObject; import org.json.simple.JSONArray; import org. . . . '' : Attempt to resolve method: hasNext() on undefined variable or class name: i

jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.simple.JSONObject; import org.json.simple.JSONArray; import org. . . . '' : Attempt to resolve method: hasNext() on undefined variable or class name: i

如何更正此代码? 谢谢

您的代码有误,您有:

while (i.hasNext())

但是我没有定义。

您应该在此之前添加如下内容:

Iterator i = GroupList.iterator();