51Testing软件测试论坛

标题: MeterSphere接口测试中文件下载 [打印本页]

作者: mikeinshanghai    时间: 2023-1-17 13:34
标题: MeterSphere接口测试中文件下载
最近一个项目上,用MeterSphere做接口自动化测试,碰到一个场景:
1. 调用dumpProject接口(Post)在服务端生成文件,接口返回如下内容,fileName通过MeterSphere的接口请求里的 后置操作,Json Path提取
{"type":"project","statusCode":"000000","fileName":"dump_wangjin_1673596188.txt"}











2. 调用"/server/dump/文件名"(get)接口实现文件下载
3.把第2步服务get请求里的响应内容,也就是文件,下载到本地,需要在接口自动化场景里添加一个自定义脚本,或者在后置操作里添加一个后置脚本。脚本实现如下:
import java.io.*;
//获取上个请求的返回数据
byte[] result = prev.getResponseData();
//之前步骤提取的文件名
log.info(vars.get("fileName"));
//之前提取的项目id
log.info(vars.get("projectID"));
//生成文件名
String file_name = "/opt/metersphere/data/files/"+vars.get("projectID")+"/"++vars.get("projectID")+".text";
//新建File对象 file
File file = new File(file_name);
//新建文件输出流
FileOutputStream out = new FileOutputStream(file);
//输出前一个请求内容到文件
out.write(result);
out.close();

4. 文件下载到MeterSphere所在服务器的/opt/meterSphere/data/files/......后,可对文件进行处理,处理方式包括自己写个java程序,打成jar包后上传到MeterSphere项目设置下的文件管理,然后在自定义脚本里调用,并对文件进行处理。
5. 文件处理完成后,即可在后续请求里上传,关于如何动态上传文件,下个帖子里细讲 。





作者: oliver.tang    时间: 2023-2-28 09:55
了解下




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2