jmeter下载文件响应乱码解决

jmeter下载文件如下图乱码
在这里插入图片描述

在请求里添加 bean shell 后置处理器
在这里插入图片描述

使用脚本代码处理响应结果

String httpCode = prev.getResponseCode();

if(httpCode.equals("200")){
    byte[] result = prev.getResponseData();//响应结果
    File file = new File("/Users/xxx/Desktop/excel_${__time(,)}.xlsx");//输出文件地址
    FileOutputStream out = new FileOutputStream(file);
    out.write(result);
    out.close();
    
    if(file.exists()){
       prev.setResponseData("导出成功","UTF-8");
       log.warn("导出成功");
    }
    else{
       prev.setResponseData("导出失败","UTF-8");
       log.warn("导出失败");
   }
 }
}

延伸
prev代表上个请求的对象,可以通过方法获取请求的信息。

String getRequestHeaders() :获取取样器结果的请求头
String getResponseCode():获取取样器结果的响应码
String getResponseHeaders() :获取取样器结果的响应头
String getResponseDataAsString():获取取样器结果的响应数据
byte[]	getResponseData()  获取SampleResult对象的responseData属性。
URL getURL()

API文档地址 自己看看吧。
https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html


版权声明:本文为wang391752原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。