为org / json / simple / JSONArray

时间:2016-07-27 13:19:39

标签: jmeter beanshell

错误:_ jmeter.util.BeanShellInterpreter:调用bsh方法时出错:eval org / json / simple / JSONArray

从项目jar文件导入java方法,该文件放在lib文件夹中。 为arraylist中的pass json值编写的源代码:

import jsonresponse.common.JsonResponseProcessor;
import assertions.AssertResponse;
import databaseresponse.common.DbResponseProcessors;
import org.json.simple.JSONArray;

String resJson = prev.getResponseDataAsString();
String res = resJson.get("queueId");
log.info("----->>>>"+resJson);

ArrayList list1 = new ArrayList();
list1.add("queueId");
list1.add("name");
list1.add("faxNumber");
list1.add("description"); 
list1.add("type");

ArrayList list2 = new ArrayList();
list2.add("userId");

ArrayList list3 = new ArrayList();
list3.add("agencyId");

ArrayList list4 = new ArrayList();
list4.add("usertypeId");

JsonResponseProcessor obj = new  JsonResponseProcessor();
System.out.println("%%%%%%%%%%%%%%fgfggfffgf%%%%%%%%%%%%%%%");
ArrayList Jsoin = obj.getvalueofsubmapoflist(resJson,".result[0]",list1);
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" +Jsoin);

log.info(">>>"+Jsoin); 

1 个答案:

答案 0 :(得分:0)

  1. 确保在JMeter类路径中包含所有引用的.jar文件(即将它们复制到JMeter' s" lib"文件夹)。别忘了重新启动JMeter来挑选罐子
  2. 如果您仍然遇到问题,请尝试将代码放在try block内:

    try {
        //your code here
    }
    catch (Throwable ex) {
        log.error("Problem in Beanshell", ex);
        throw ex;
    }
    

    通过这种方式,您可以在 jmeter.log 文件中打印信息性堆栈跟踪。

  3. 获取有关Beanshell脚本的更多信息的另一种方法是将debug();指令放在代码的开头。如果将调试输出触发到stdout
  4. 有关在JMeter测试中使用Beanshell测试元素中的Java和JMeter API的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。