MeterSphere接口测试:动态上传不同文件

发表于:2023-2-07 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:CSDN

  最近在项目中需要测试导入接口,该接口需要上传附件,并且开发要求上传多个不同的附件。
  我司接口测试都是跑在MeterSphere上。
  经过一番测试和研究,实现了上传不同附件的接口测试,现在分享给大家。
  1. 登录MeterSphere,新建一个场景,保存。
  2. 添加登录步骤,同时在后置步骤里提取 csrfToken,sessionId。
  3. 添加登录请求,Post请求。
  在请求体里,手动上传附件:
  字段类型file,点击+号上传附件,类型为application/octet-stream
  下面关键点来了:登录到安装MeterSphere的机器,进入/opt/metersphere/data/body目录, MeterSphere所有的附件都保存在该目录下。
  执行ls命令,可以看到 刚刚上传文件时新建的一个文件夹,类似这样的名称:
  /opt/metersphere/data/body/3f14294d-ea3f-40bc-8e8e-cbf8ad4a38e9,这里的 “3f14294d-ea3f-40bc-8e8e-cbf8ad4a38e9”文件夹就有刚刚上传的附件。
  4. 要实现动态上传附件,只需要 在【自定义脚本】,或者 【前置脚本】 用新的文件 替换 这个目录下已有的文件,比如你可以把需要上传的50个文件放到/opt/metersphere/data/files目录下,每次上传附件时,可以在 【自定义脚本】,或者 【前置脚本】 里 用beanshell脚本 或者 写个java程序然后在【自定义脚本里】/【前置脚本里】里引用,替换 /opt/metersphere/data/body/3f14294d-ea3f-40bc-8e8e-cbf8ad4a38e9/目录下的文件。 /opt/metersphere/data/body/是固定的,3f14294d-ea3f-40bc-8e8e-cbf8ad4a38e9和您新建的场景关联,你可以在测试中用你的环境里产生的ID替换掉。
  下图中引用的第三方jar包是我的同事写的,实现的就是把/opt/metersphere/data/files的文件,转换成openApi3.0格式,然后替换 /opt/metersphere/data/body/3f14294d-ea3f-40bc-8e8e-cbf8ad4a38e9/目录下的文件,实现 该接口测试 上传动态文件,每次执行上传的文件不一样。
  5. 此外也可以把该场景从MeterSphere上导出成jmeter格式,然后查看手动上传的附件在服务器上被保存在哪个目录下。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号