把请求响应信息写入jmx所在目录下的txt
import java.text.SimpleDateFormat;
//import java.util.Date;
import org.apache.jmeter.services.FileServer;
import org.apache.jmeter.config.Arguments;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
log.info("*****把请求响应信息写入txt*****");
/*写入绝对路径*/
//String logpath="C:/Users/mining/Desktop/testlog/testlog${__time(HHmmss,)}.txt";
/*写入相对路径*/
String jmxpath=FileServer.getFileServer().getBaseDir();//获取jmx所在目录路径
String logpath=jmxpath+"/testlog_${__threadGroupName}.txt";
FileWriter fstream =new FileWriter(logpath,true);
BufferedWriter out =new BufferedWriter(fstream);
out.write("\n\n");
String sampleLabel=prev.getSampleLabel(); //接口名称
out.write("----------接口名称:"+sampleLabel+"----------\n");
Long samplerStartTime=prev.getStartTime();//获取请求开始时间;
out.write("请求开始时间:"+df.format(samplerStartTime)+"\n");
Long samplerEndTime=prev.getEndTime();//获取请求结束时间;
out.write("请求结束时间:"+df.format(samplerEndTime)+"\n");
String Latency=Long.toString(prev.getLatency());//获取请求耗时;
out.write("请求耗时:"+Latency+"ms\n");
//String requestHeaders = prev.getRequestHeaders();//请求头
//out.write("请求头:\n"+requestHeaders+"\n");
String responseURL = prev.getUrlAsString();//请求URL
out.write("请求URL:"+responseURL+"\n");
Arguments arguments = ctx.getCurrentSampler().getArguments();//获取请求数据
String samplerData = arguments.toString().replace("(","").replace(")","").replace("=","");
out.write("请求数据:\n"+samplerData+"\n");
String responseData = prev.getResponseDataAsString();//响应内容
out.write("响应内容:\n"+responseData+"\n");
//out.write("比对图片:"+vars.get("colorpath")+"\n");
//String responseCode = prev.getResponseCode();//获取响应码 HTTP: 200 、502、404等
//out.write("响应码:\n"+responseCode+"\n");
//String ResponseHeaders = prev.getResponseHeaders();//响应头
out.flush();
out.close();
fstream.close();

浙公网安备 33010602011771号