jmeter导出⽂件类型接⼝响应信息乱码处理
导出⽂件接⼝
这种接⼝实际返回的是excel⽂档,直接去查看响应信息看是否出现乱码问题。
导出⽂件乱码还会导致Jenkins构建测试失败
针对此问题,我们可以把返回内容重新⽣成⼀个⽂件,保存到服务器上,然后判断⽂件是否⽣成成功(后续还可以以针对实际业务判断⽂件⼤⼩及⽂件内容是否符合预期,此处举例只判断⽂件是否存在)
(1 )⾸先在需要导出接⼝⾥添加⼀个BeanShell PostProcessor
(2)参考以下代码对返回信息重新处理
String resPonseCode = ResponseCode();
if(resPonseCode.equals("200")){
ResponseData = ResponseData();
String ResponseDataType = Class().getName();
if(ResponseDataType.equals("[B")){乱码文字生成
byte[] result = ResponseData;  //这个是获取到请求返回的数据,prev是获取上个请求的返回
log.Class()+"");
String file_name = "excel_${__time(,)}.xlsx"; //代表存放⽂件的位置和⽂件名
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
ists()){
//根据实际情况各业务⾃⼰判断是否需要补充对导出⽂件的内容验证,此处暂时只判断⽂件是否存在
prev.setResponseData("导出成功","UTF-8");
log.warn("导出成功");
}
else{
prev.setResponseData("导出失败","UTF-8");
log.warn("导出失败");
}
}
}
(3)重新执⾏后,查看返回信息已经变为⾃定义的⽂本"导出成功",并有⽂件保存成功
注意:
1、如果在服务器上执⾏,还需要考虑⽂件保存路径是否存在
2、⽂件名称和⽂件后缀需要根据实际需求⾃⼰定义