JMeter 格式化输出rest服务返回json数据


JMeter默认对于rest服务返回的json数据显示默认如下图:




对于第二种显示的json数据并不是我们所期望的格式,当我们copy数据的时候,格式依旧是:


{
:   "returnCode":"-1",
:   "returnMsg":"系统异常,请稍后再试",
:   "info":"test e",
:   "inputParamWhereFalse":null,
:   "success":false
}


为了美化输出json数据,我们需要定制JMeter对于json数据的处理:利用BeanShell PostProcessor对返回的json数据美化处理。
1.从maven仓库里下载jar包:jackson-annotations-2.8.6.jar、jackson-core-2.8.6.jar、jackson-databind-2.8.6.jar,放到路径D:\lib下。

2.在JMeter里设置所需要的jar包路径地址:





3.建立名为BeanShell PostProcessor-PrettyFromatJson 的BeanShell PostProcessor:




代码如下:


import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
     
     
try {
	
        String response_data = prev.getResponseDataAsString();
        
        log.info("response_data: " + response_data);
        ObjectMapper objectMapper = new ObjectMapper();
		
        Map readValue = objectMapper.readValue(response_data, Map.class);
        String writeValueAsString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(readValue);
        log.info("PrettyFromatJson result: " + writeValueAsString);
        
        prev.setResponseData(writeValueAsString);

        
        
} catch (JsonProcessingException e) {
           
       log.info("BeanShell PostProcessor-解密数据 failed============== =========================", ex);
       
}
 


测试输出的格式:



好了,json格式美化输出来了。

分享一个学习JMeter网址:https://www.blazemeter.com/blog

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐