51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 802|回复: 1
打印 上一主题 下一主题

[原创] MeterSphere接口测试中文件下载

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-1-17 13:34:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近一个项目上,用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. 文件处理完成后,即可在后续请求里上传,关于如何动态上传文件,下个帖子里细讲 。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 06:44 , Processed in 0.064016 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表