news 2026/9/25 10:42:04

JMeter接口测试之文件上传

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JMeter接口测试之文件上传

最近用JMeter做接口测试,频繁遇到了文件上传的接口,与其他一般接口的处理方式不一样,想着分享下,希望能给测试同学一点启发。

文章将围绕三个部分进行展开:

一、用户场景

二、接口请求参数

三、JMeter脚本编写步骤

四、JMeter脚本执行

一、用户场景

有一个新建用户凭证页面,填写字段信息,上传图片文件,点击提交,即新建成功。

这个步骤包含两个接口,一个上传图片文件接口,返回一个路径字段值,在新建凭证接口的请求参数中带上路径,即可新建成功。

实现脚本的基本思路就是先调用上传接口,利用JSON提取器将返回的路径字段值提取出来,存在一个变量${get_picture_url}中,再调用新建接口,直接将路径变量的值赋给请求参数attachUrl。

二、接口请求参数

1、文件上传接口

对于文件上传类的接口,注意观察Request Headers的Content-Type,值为:multipart/form-data

请求体,参数为file

响应值,返回上传文件的路径信息,即data字段的值

2、新建用户凭证接口

Request Headers的Content-Type,值为:application/x-www-form-urlencoded

请求体,参数为有6个,主要关注attachUrl,这个参数是上传接口返回字段data的值

响应值,新建成功则返回success

三、JMeter脚本编写步骤

一)上传接口脚本编写

1、添加一个线程组:财务管理

2、添加一个简单控制器

加不加都不重要,主要是为了规范脚本,使脚本更便于阅读,一般是一个简单控制器下一个http请求

3、添加http请求

协议,服务器名称,请求方法,请求路径等照常填写,但是要勾选 Use multipart/form-data for POST,如果还有其他参数,直接在Parameters里面照常填写,示例中的接口没有,就不写了

切换至File Upload,填写上传文件信息

文件名称:写本地的上传文件路径即可(注意,脚本部署到Linux服务器上时,注意切换路径)

参数名称:填写文件路径的参数名称,示例中的参数是file

MIME类型:multipart/form-data

4、添加响应断言

根据实际接口填写即可

5、添加JSON提取器

Names of Created variables:作为引用的变量名称,多个变量名通过分号;隔开,自定义

JSON Path expessions:格式为 . (层级名称),本次示例即为 .(层级名称),本次示例即为.(层级名称),本次示例即为.data

Match No.:取第几个数值,0代表随机,-1代表取全部数组数据,1代表取一个变量数值,与设置的变量名称有关,本次示例填-1(说明:如果填写1,后面引用变量的时候直接用g e t p i c t u r e u r l 即可,如果填写 − 1 ,返回的是一个数组,后面引用变量的时候要用 {get_picture_url}即可,如果填写-1,返回的是一个数组,后面引用变量的时候要用getp​ictureu​rl即可,如果填写−1,返回的是一个数组,后面引用变量的时候要用{get_picture_url_1},${get_picture_url_2}的形式)

Compute concatenation var(suffix_ALL):匹配到的所有数值并保存,默认为空即可

Default Value:取值失败时展示的内容,默认为空即可

二)新建用户凭证接口

1、添加一个简单控制器

加不加都不重要,主要是为了规范脚本,使脚本更便于阅读,一般是一个简单控制器下一个http请求

3、添加http请求

协议,服务器名称,请求方法,请求路径等照常填写,不需要勾选 Use multipart/form-data for POST,attachUrl参数,直接将变量${get_picture_url_1}的值赋给attachUrl

File Upload也不用填写任何信息了

4、添加响应断言

根据实际接口填写即可

四、JMeter脚本执行

执行脚本,除了查看结果数,看接口全部执行成功外,还要去页面看新建的用户凭证详情中,上传图片是否成功。

今天在调试过程中发现,即使新建用户凭证接口的路径不正确,也能成功新建用户凭证,只不过在查看详情的时候,图是裂的,就像这种效果,所以即使脚本调通了,也要去页面看看,图片是不是真的上传成功了。

这样,一个完整的接口上传脚本就成功了。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 5:46:32

UI自动化测试最佳设计模式POM

当使用Selenium进行UI自动化测试时,Page Object Model(POM)是一种最佳实践的设计模式。POM的核心思想是通过将页面封装成对象,使得测试代码更加清晰、可维护和可重用。 POM的主要组成部分包括页面对象类、元素定位方式和操作方法…

作者头像 李华
网站建设 2026/9/23 16:39:48

解锁大脑网络奥秘:Yeo7与17网络AAL90脑图谱映射关系全解析

🧠 大脑功能连接分析中,您是否曾困惑于如何准确地将Yeo7网络和17网络与AAL90脑图谱进行精确对应?这正是脑图谱映射技术要解决的核心难题。今天,我们将带您探索这个连接脑科学与数据分析的关键桥梁。 【免费下载链接】Yeo7网络与17…

作者头像 李华
网站建设 2026/8/31 17:43:33

SAE J1939协议终极指南:从入门到精通完整解析

SAE J1939协议终极指南:从入门到精通完整解析 【免费下载链接】SAEJ1939协议文档库完整版双语对照 SAE J1939协议文档库(完整版,双语对照)欢迎来到SAE J1939协议的综合资源库!本仓库致力于为汽车电子、车联网领域的开发…

作者头像 李华
网站建设 2026/9/25 3:02:10

智能设计开源工具:3步实现开发效率的量子跃迁

在传统开发流程中,设计师与开发者之间的鸿沟往往导致项目延期和沟通成本飙升。当产品经理提出"构建一个计算器UI"的需求时,团队需要经历原型设计、组件拆分、代码实现等多个环节,这个过程通常需要数天甚至数周时间。AI辅助设计技术…

作者头像 李华
网站建设 2026/9/24 6:39:48

3个关键步骤:如何掌握SLAM手册中的高级空间AI技术

在机器人技术和自动驾驶领域,SLAM(同时定位与建图)技术正经历从基础定位到智能空间理解的重大转变。SLAM手册作为剑桥大学出版社即将发布的权威指南,为开发者提供了从理论到实践再到前沿AI应用的完整知识体系。本文将揭示如何高效…

作者头像 李华
网站建设 2026/9/25 7:55:52

小米MiMo-Audio:重塑音频AI的通用智能新范式

小米MiMo-Audio:重塑音频AI的通用智能新范式 【免费下载链接】MiMo-Audio-7B-Base 项目地址: https://ai.gitcode.com/hf_mirrors/XiaomiMiMo/MiMo-Audio-7B-Base 当语音助手需要重新训练才能理解新方言,当音频编辑工具无法保持说话人音色一致性…

作者头像 李华