51Testing软件测试论坛
标题: jmeterbeanshellPosterProcessor取json [打印本页]
作者: 测试积点老人 时间: 2018-11-6 10:00
标题: jmeterbeanshellPosterProcessor取json
用jmeter发送请求,输入内容已参数化,返回为json串,举例如下(工作中实际返回的远远大于3组):
"person": [{ "id":1, "name":"张三"},{ "id":1, "name":"李四" },{ "id":3, "name":"王二" }]
在网上找了一段提取json的代码(代码能力弱,只能先抄抄啦@@),并且把需要导入的包fastjson-1.2.47.jar(这个包没弄清楚到底应该用哪个,搜了一堆试了也没成)放在了jmeter的lib目录下,jmeter的测试计划里也将这个包加入了Library。但是最后运行完还是报一堆错。
- import org.json.*;
- String response_data = prev.getResponseDataAsString();
- JSONObject data_obj = new JSONObject(response_data);
- String persons_str = data_obj.get("person").toString();
- log.info(persons_str);
- JSONArray persons_array = new JSONArray(persons_str);
- String[] result = new String[persons_array.length()];
- for(int i=0;i<persons_array.length();i++){
- JSONObject person_obj = new JSONObject(perons_array.get(i).toString());
- String personName = person_obj.get("name").toString;
- result[i] = personName;
- log.info("--------result-------"+"i"+result[i]);
- }
- log.info("--------result-------"+results);
- //将结果保存到本地csv文件里
- FileWriter fstream = new FileWriter("D:\\pk.csv",true);
- BufferedWriter out = new BufferedWriter(fstream);
- out.write(results);
- out.flush();
- out.newLine();
- out.close();
复制代码报错信息:
- ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.*; String response_data = prev.getResponseDataAsString(); JSON . . . '' : Typed variable declaration : Method Invocation person_obj.get
- WARN o.a.j.e.BeanShellPostProcessor: Problem in BeanShell script: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.*; String response_data = prev.getResponseDataAsString(); JSON . . . '' : Typed variable declaration : Method Invocation person_obj.get
复制代码---请问哪位大神能告知一下这里需要用的json处理的包到底应该是哪个,然后这个包能帮忙提供一下吗?我的jemeter 版本是3.3,万分感谢。
作者: libingyu135 时间: 2018-11-7 10:44
fastjson是android中的json解析工具,有二进制包也有源码包,你这个是二进制包
作者: qqq911 时间: 2018-11-7 11:08
用正则
作者: 海海豚 时间: 2018-11-7 11:56
不太懂,学习一下
作者: 梦想家 时间: 2018-11-7 12:00
fastjson是android中的json解析工具,有二进制包也有源码包,你这个是二进制包
作者: jingzizx 时间: 2018-11-7 13:06
为什么不用正则表达式提取
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |