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格式美化输出来了。