1、用于演示的项目说明

Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service项目,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。

Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookieipheaders 和登录验证等。

Httpbin接口地址:httpbin.org

提示:按照规则请求http://httpbin.org/,会返回发送请求报文的完整内容。

具体可查看https://www.cnblogs.com/liuyuelinfighting/p/14788860.html文章,有详细说明。

2、测试计划内包含的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
  3. 在线程组里面,添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
  4. 在线程组里面,添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

3、HTTP请求界面内容

取样器“HTTP请求”界面,如下图所示:

Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834

关于参数编辑如下:

(1)编写接口所需要上传的文件数据

上传文件选项页内容:

说明

  1. 上传文件时,需要勾选Use multipart/form-data for post选项。(我个人实践中发现,在上传文件选项页编辑参数后,Post请求默认会以multipart/form-data数据格式进行提交数据,勾不勾选没有区别。但是工作中按照接口文档来操作,如果没有说明最后好勾选上。)
  2. 上传文件选项页中,需要填写三个参数:
    1)文件名称:输入上传文件的路径;(注意:通过以JMeter脚本所在目录为目标点,可以使用文件的相对路径。)
    2)参数名称:自定义变量名,例如Filedata(被赋值于文件内容);
    3)MIME类型:例如application/octet-stream
  3. 参数选项页和消息体数据选项页只能选择其一。

(2)编写接口所需要的其他数据

我们在上传文件的同时,也可以在参数选项页中添加接口需要其他参数:

4、查看结果

执行脚本后,结果如下图所示:

我们可以看到文件中的内容和Form表单中的数据,都发送出去了。

5、总结

在日常工作中,如果接口写的很详细,我们就完全按照接口文档的要求编写JMeter脚本。

如果接口中有部分内容写的不明确,我们可以按照通用的请求规范来编写JMeter脚本。

如果面对一个项目没有接口文档,那我们就需要使用工具抓取请求,来查看该接口具体的内容,当然可以找开发沟通了解。

6、补充:MIME类型简介

(1)MIME说明

MIME(Multipurpose Internet Mail Extensions):多用途网络邮件扩展类型,可被称为Media typeContent 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/midiaudio/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如何实现上传文件相关推荐

  1. JMeter之HTTP请求上传文件/上传图片

    Jmeter实现接口上传图片 一.Fiddler抓包上传图片接口 查看WebForms,接口传参为空,文件/图片传参为<file>对用的Name值: Content-Disposition ...

  2. linux rz 无法上传文件,linux rz上传文件及出错解决方案

    在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要 ...

  3. jmeter --上传文件

    jmeter-场景-上传文件-send-a-file 简要说就3点: POST请求 Request的参数都写在路径内,不写在表单里 上传的文件写在表单里 只要记住以上3点,也就避免了在设计脚本的时候走 ...

  4. JMeter接口测试示例(六)——上传文件

    上传文件 功能描述 上传文件:向服务器(211.149.218)指定目录传送文件 请求地址 http://api.nnzhp.cn/uploadfile 请求方式 Post 入参 参数 数据类型(长度 ...

  5. jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...

    jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用 先用谷歌浏览器抓包,抓到的包类似这样: 在jmeter里添加一个http请求,配置好参数,方法,端口,路径等, 勾选 ...

  6. Jmeter上传文件的使用

    Jmeter上传文件的使用 一.创建线程组,添加各类组件 二.文件上传 浏览器F12看一下接口信息,找到content-type (如我要测的接口content-type是multipart/form ...

  7. Jmeter上传文件

    1.上传文件 记得勾选"use multipart/form-data",表明此请求包含文件信息. 在信息请求头中,需加入"Content-Dispostition=fo ...

  8. 像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

    postman介绍&测试准备 postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便. 前期准备:测试前,需要安装好postman, ...

  9. 利用 JMeter 压测上传和下载接口实战

    目录 前言 正文 方案调研 工具下载 启动工具 组织压测脚本 压测结果 结论 前言 突然来一个任务,让压测对象存储服务的上传和下载接口,之前也没有干过呀,也不属于自己的工作范畴.但是,事情着急,自己也 ...

最新文章

  1. 2021易烊千玺高考成绩查询,易烊千玺高考分数公布?最骄傲的是他?网友:分太低!...
  2. 论面向组合子程序设计方法 之 重构
  3. WebStorm按Tab建快速生成代码模块
  4. 深度学习简明教程系列 —— 经典模型(合集)
  5. 微信小程序实现实时音视通话-腾讯云文档dome里面的大坑
  6. 计算机毕业设计 基于springboot+vue的校园志愿者管理系统
  7. undo歌词中文音译_Undo - Sanna nielsen帮我看看这歌词翻译对么
  8. 挑战SQL经典题(一)
  9. nlp-知识图谱简介
  10. 高等数学(预备知识之对数函数)
  11. Win7 注册ocx控件 “DllRegisterServer的调用失败,错误代码为0x80040200 ”
  12. 2022 百度面试题
  13. xMAP/NMAP/MIAP/移动办公/手机办公/移动适配
  14. hyper-v导入硬盘无法启动解决方法
  15. Word粘贴快捷键不能用
  16. keil 添加ARM芯片包 (stm32为例)
  17. 在分布式事务(MSDTC)中使用OLE DB数据库连接访问数据
  18. PCBA方案定制,开发腕式血压计方案
  19. 洛谷 CF311B Cats Transport
  20. 视频教程-支付宝生活缴费商业项目标准版-Java

热门文章

  1. mysql primary unique_MySQL中的INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?
  2. 新自动化文档生成-go语言-docx生成
  3. 为ESXi 4.x / 5.x / 6.x / 7.x创建持久暂存位置(1033696)
  4. 百度将砸钱100多亿元建云计算中心(2012-09-03)
  5. 光靠勤奋和努力是远远不够的
  6. 一个长方体玻璃容器从里面量长宽_在玻璃鱼缸里用微型观叶植物布置景观,比盆景还要迷人...
  7. 乐搏讲自动化测试-Python发展背景(1)
  8. node.js中对 redis 的安装和基本操作
  9. Python自动化运维开发----基础(八)字符串
  10. ethereumjs/ethereumjs-account-2-test