使用JMeter如何实现上传文件
1、用于演示的项目说明
Httpbin
是一个使用Python + Flask
编写的HTTP Request & Response Service
项目,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。
Httpbin
支持HTTP/HTTPS
请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookie
、ip
、headers
和登录验证等。
Httpbin
接口地址:httpbin.org
提示:按照规则请求
http://httpbin.org/
,会返回发送请求报文的完整内容。具体可查看https://www.cnblogs.com/liuyuelinfighting/p/14788860.html文章,有详细说明。
2、测试计划内包含的元件
添加元件操作步骤:
- 创建测试计划。
- 创建线程组:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。 - 在线程组里面,添加取样器“HTTP请求”组件:
选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。 - 在线程组里面,添加监听器“察看结果树”组件:查看结果,
选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。
最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
3、HTTP请求界面内容
取样器“HTTP请求”界面,如下图所示:
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
关于参数编辑如下:
(1)编写接口所需要上传的文件数据
上传文件选项页内容:
说明:
- 上传文件时,需要勾选
Use multipart/form-data for post
选项。(我个人实践中发现,在上传文件选项页编辑参数后,Post请求默认会以multipart/form-data
数据格式进行提交数据,勾不勾选没有区别。但是工作中按照接口文档来操作,如果没有说明最后好勾选上。) - 在上传文件选项页中,需要填写三个参数:
1)文件名称:输入上传文件的路径;(注意:通过以JMeter脚本所在目录为目标点,可以使用文件的相对路径。)
2)参数名称:自定义变量名,例如Filedata
(被赋值于文件内容);
3)MIME类型:例如application/octet-stream
。 - 参数选项页和消息体数据选项页只能选择其一。
(2)编写接口所需要的其他数据
我们在上传文件的同时,也可以在参数选项页中添加接口需要其他参数:
4、查看结果
执行脚本后,结果如下图所示:
我们可以看到文件中的内容和Form表单中的数据,都发送出去了。
5、总结
在日常工作中,如果接口写的很详细,我们就完全按照接口文档的要求编写JMeter脚本。
如果接口中有部分内容写的不明确,我们可以按照通用的请求规范来编写JMeter脚本。
如果面对一个项目没有接口文档,那我们就需要使用工具抓取请求,来查看该接口具体的内容,当然可以找开发沟通了解。
6、补充:MIME类型简介
(1)MIME说明
MIME(Multipurpose Internet Mail Extensions)
:多用途网络邮件扩展类型,可被称为Media type
或Content type
。
MIME用于设定某种类型的文件,当被浏览器打开的时候,需要用什么样的应用程序。多用于HTTP通信和设定文档类型例如HTML。
即:之所以叫多用途网络邮件扩展类型,因为它最早被用于电子邮件系统,后用于浏览器。
概括的说:MIME类型即Content-Type
的值,服务端会检测这个Content-Type
的值。
(2)常见类型
如下表:
文件后缀 | Mime类型 | 说明 |
---|---|---|
.flv
|
flv/flv-flash
|
在线播放 |
.html或.htm
|
text/html
|
超文本标记语言文本 |
.rtf
|
application/rtf
|
RTF文本 |
.gif
|
image/gif
|
GIF图形 |
.jpeg 或.jpg
|
image/jpeg
|
JPEG图形 |
.au
|
audio/basic
|
au声音文件 |
.mid 或.midi
|
audio/midi 或audio/x-midi
|
MIDI音乐文件 |
.ra 或.ram 或.rm
|
audio/x-pn-realaudio
|
RealAudio音乐文件 |
.mpg 或.mpeg 或.mp3
|
video/mpeg
|
MPEG文件 |
.avi
|
video/x-msvideo
|
AVI文件 |
.gz
|
application/x-gzip
|
GZIP文件 |
.tar
|
application/x-tar
|
TAR文件 |
.exe
|
application/octet-stream
|
下载文件类型 |
.rmvb
|
video/vnd.rn-realvideo
|
在线播放 |
.txt
|
text/plain
|
普通文本 |
.mrp
|
application/octet-stream
|
MRP文件(国内普遍的手机) |
.ipa
|
application/iphone-package-archive
|
IPA文件(IPHONE) |
.deb
|
application/x-debian-package-archive
|
DED文件(IPHONE) |
.apk
|
application/vnd.android.package-archive
|
APK文件(安卓系统) |
.cab
|
application/vnd.cab-com-archive
|
CAB文件(Windows Mobile) |
.xap
|
application/x-silverlight-app
|
XAP文件(Windows Phone 7) |
.sis
|
application/vnd.symbian.install-archive
|
SIS文件(symbian平台) |
.jar
|
application/java-archive
|
JAR文件(JAVA平台手机通用格式) |
.jad
|
text/vnd.sun.j2me.app-descriptor
|
JAD文件(JAVA平台手机通用格式) |
.sisx
|
application/vnd.symbian.epoc/x-sisx-app
|
SISX文件(symbian平台) |
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
使用JMeter如何实现上传文件相关推荐
- JMeter之HTTP请求上传文件/上传图片
Jmeter实现接口上传图片 一.Fiddler抓包上传图片接口 查看WebForms,接口传参为空,文件/图片传参为<file>对用的Name值: Content-Disposition ...
- linux rz 无法上传文件,linux rz上传文件及出错解决方案
在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要 ...
- jmeter --上传文件
jmeter-场景-上传文件-send-a-file 简要说就3点: POST请求 Request的参数都写在路径内,不写在表单里 上传的文件写在表单里 只要记住以上3点,也就避免了在设计脚本的时候走 ...
- JMeter接口测试示例(六)——上传文件
上传文件 功能描述 上传文件:向服务器(211.149.218)指定目录传送文件 请求地址 http://api.nnzhp.cn/uploadfile 请求方式 Post 入参 参数 数据类型(长度 ...
- jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...
jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用 先用谷歌浏览器抓包,抓到的包类似这样: 在jmeter里添加一个http请求,配置好参数,方法,端口,路径等, 勾选 ...
- Jmeter上传文件的使用
Jmeter上传文件的使用 一.创建线程组,添加各类组件 二.文件上传 浏览器F12看一下接口信息,找到content-type (如我要测的接口content-type是multipart/form ...
- Jmeter上传文件
1.上传文件 记得勾选"use multipart/form-data",表明此请求包含文件信息. 在信息请求头中,需加入"Content-Dispostition=fo ...
- 像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……
postman介绍&测试准备 postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便. 前期准备:测试前,需要安装好postman, ...
- 利用 JMeter 压测上传和下载接口实战
目录 前言 正文 方案调研 工具下载 启动工具 组织压测脚本 压测结果 结论 前言 突然来一个任务,让压测对象存储服务的上传和下载接口,之前也没有干过呀,也不属于自己的工作范畴.但是,事情着急,自己也 ...
最新文章
- 2021易烊千玺高考成绩查询,易烊千玺高考分数公布?最骄傲的是他?网友:分太低!...
- 论面向组合子程序设计方法 之 重构
- WebStorm按Tab建快速生成代码模块
- 深度学习简明教程系列 —— 经典模型(合集)
- 微信小程序实现实时音视通话-腾讯云文档dome里面的大坑
- 计算机毕业设计 基于springboot+vue的校园志愿者管理系统
- undo歌词中文音译_Undo - Sanna nielsen帮我看看这歌词翻译对么
- 挑战SQL经典题(一)
- nlp-知识图谱简介
- 高等数学(预备知识之对数函数)
- Win7 注册ocx控件 “DllRegisterServer的调用失败,错误代码为0x80040200 ”
- 2022 百度面试题
- xMAP/NMAP/MIAP/移动办公/手机办公/移动适配
- hyper-v导入硬盘无法启动解决方法
- Word粘贴快捷键不能用
- keil 添加ARM芯片包 (stm32为例)
- 在分布式事务(MSDTC)中使用OLE DB数据库连接访问数据
- PCBA方案定制,开发腕式血压计方案
- 洛谷 CF311B Cats Transport
- 视频教程-支付宝生活缴费商业项目标准版-Java
热门文章
- mysql primary unique_MySQL中的INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?
- 新自动化文档生成-go语言-docx生成
- 为ESXi 4.x / 5.x / 6.x / 7.x创建持久暂存位置(1033696)
- 百度将砸钱100多亿元建云计算中心(2012-09-03)
- 光靠勤奋和努力是远远不够的
- 一个长方体玻璃容器从里面量长宽_在玻璃鱼缸里用微型观叶植物布置景观,比盆景还要迷人...
- 乐搏讲自动化测试-Python发展背景(1)
- node.js中对 redis 的安装和基本操作
- Python自动化运维开发----基础(八)字符串
- ethereumjs/ethereumjs-account-2-test