zoukankan      html  css  js  c++  java
  • BeanShell PostProcessor 提取json

    BeanShell PostProcessor 可对url请求参数、请求返回的结果进行处理赋值等操作;

    步骤:

    BeanShell PostProcessor 对url 返回的json进行提取:

      json的数据格式为:{"data":{"total":5,"list":[{"enabled":true,"lastLoginTime":00,"name":"超级管理员","id":1,"state":"Normal","username":"admin"},{"enabled":true,"lastLoginTime":1,"name":"普通管理员","id":2,"state":"Normal","username":"adminment"},}

      1、采用import org.json.* 进行处理:

        使用 org.json必须引入的包:下载

        下载的包放到jmeter目录下的lib目录中,记得重启jmeter

          

     1 import org.json.*;  
     2  
     3 String response_data = prev.getResponseDataAsString(); //url返回的数据
     4  
     5 JSONObject data_obj = new JSONObject(response_data); 
     6  
     7 String diaryList_str = data_obj.get("data").get("list").toString(); 
     8  
     9 JSONArray diaryList_array = new JSONArray(diaryList_str); 
    10  
    11  
    12 String resultName ="";
    13  
    14 for(int i=0;i<diaryList_array.length();i++){ 
    15  
    16     JSONObject diaryList_obj = new JSONObject(diaryList_array.get(i).toString()); 
    17     
    18     String recordItems = diaryList_obj.get("name").toString();
    19  
    20     resultName ="resultName"+i;
    21  
    22     vars.put(resultName,recordItems);  
    23  
    24 } 
    25  
    org.json

       2、采用 import com.alibaba.fastjson.*  进行处理:

        使用com.alibaba.fastjson必须引入的包:下载

        下载的包放到jmeter目录下的lib目录中,记得重启jmeter;

     

     1 import com.alibaba.fastjson.JSON;
     2 import com.alibaba.fastjson.JSONArray; 
     3 import com.alibaba.fastjson.JSONObject;
     4  
     5 String response_data  = prev.getResponseDataAsString(); // //获取url返回值
     6 JSONObject data_obj  = JSON.parseObject(response_data); 
     7 String json=data_obj.get("data").toString();
     8 JSONObject jso=JSON.parseObject(json);//json字符串转换成jsonobject对象
     9 JSONArray jsarr=jso.getJSONArray("list");//jsonobject对象取得数组
    10  String str2=""; 
    11  
    12 for(int i=0;i<jsarr.size();i++){ 
    13         JSONObject ao=jsarr.getJSONObject(i);//jsonarray对象通过getjsonobjext(index)方法取得数组里面的jsonobject对象
    14         
    15     String vString=ao.getString("name");//jsonobject对象通过key直接取得String的值
    16     if (vString == null){
    17       vString=ao.getString("username");
    18     }
    19     
    20     str2 = "answer_"+i;
    21     
    22     vars.put(str2,vString);
    23 } 
    com.alibaba.fastjson
    @成为那个自己
  • 相关阅读:
    Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
    Centos7下安装Docker(详细的新手装逼教程)
    性能测试之nmon对linux服务器的监控
    真爱至上,谈谈我的测试经历(二)
    linux问题点滴,给普通用户添加sudo权限
    浅谈软件测试流程(一)
    面试如何谈笑风生,软件测试基础理论整理
    测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录
    解决github访问过慢问题
    Python语言下图像的操作方法总结
  • 原文地址:https://www.cnblogs.com/xiaochou1024/p/9441398.html
Copyright © 2011-2022 走看看