【最佳实践】MeterSphere 接口测试使用之下载文件


飞致云 发布于 2023-02-17 / 1056 阅读 / 0 评论 /
1背景 在我们实际应用中,需要测试下载文件接口,但是没有浏览器又如何直接下载呢?MeterSphere 可以使用 BeanShell 写脚本的方式来实现该测试。 2实现原理 1、通过写 BeanShell 后置脚本可以将响应内容转换成文件输出 2、需要特别说明的是,通过服务器去请求下载接口,文件只能

1背景

在我们实际应用中,需要测试下载文件接口,但是没有浏览器又如何直接下载呢?MeterSphere 可以使用 BeanShell 写脚本的方式来实现该测试。

2实现原理

1、通过写 BeanShell 后置脚本可以将响应内容转换成文件输出

2、需要特别说明的是,通过服务器去请求下载接口,文件只能下载到请求该接口的服务器上,而不是我们自己的客户端

3、通过 MeterSphere 的 docker-compose 文件可以看出 docker 挂载的路径是 /opt/metersphere/data,所以建议下载到该路径下

4、如果选择其他路径,就会下载到容器的路径下,查看需要进容器里面看

3具体案例

1、在接口测试写一个下载接口并生成一个 case

2、在后置操作选择后置脚本-BeanShell,并写以下脚本

import java.io.*;

byte[] result = prev.getResponseData();
String file_name = "/opt/metersphere/data/xxxx.xxx";
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

3、执行该接口,可以看到响应体是我们文件的内容

4、在服务器的该路径下可以看到该文件,说明下载成功了



是否对你有帮助?