jmeter-fileupload操作使用说明

Posted 会一点开发的自动化测试人员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter-fileupload操作使用说明相关的知识,希望对你有一定的参考价值。

前言:在http请求过程中上传附件(图片、安装包、视频文件等)虽然基本上Content-Type为:multipart/form-data,但Content-Type也有不一样的,如:图片Content-Type为: image/jpeg,app包Content-Type为:application/octet-stream。

那么,对于Content-Type不管为什么类型,jmeter如何模拟一个上传附件的http请求呢?

step1:用抓包工具抓取http请求的入参(本例以web服务端为例)。

     remark:本例对header和cookie不说明(添加方法与普通的http请求相同)。

下图为Firebug抓包的数据:

 

此请求有三个表单域,其中前2个为http请求params。

最后一个包含了 name="app_file_path"(这个name值可以自己定义)filename="xhs.apk",也就是包名、以及包含了Content-Type

boundary属性:

依据每一个“-----------------------------”为分隔符,代表一个表单域;最后一个“----------155412697716390--”(以“--”结尾)分隔符为表单域结束边界。

每一个表单域中的name关键字的值代表http请求的参数key,下面就是这个key的value。
如:
①:-----------------------------155412697716390 Content-Disposition: form-data; name="tmms_action" upload_app_file
http请求的params的key为tmms_action,value为upload_app_file
②:-----------------------------155412697716390 Content-Disposition: form-data; name="data" {"app_file_name":"xhs.apk","platform":2}
http请求的params的另一个key为tmms_data,value为{"app_file_name":"xhs.apk","platform":2}
③:-----------------------------155412697716390 Content-Disposition: form-data; name="app_file_path"; filename="xhs.apk" Content-Type: application/octet-stream
 上传包的params为app_file_path(这个name值可以自己定义,建议直接复用),filename="xhs.apk",也就是包名,Content-Type为 application/octet-stream
 
到此,http请求入参以及上传包参数已搞清楚,接下来就是如何在jmeter如何输入。
需要注意
  1,请求类型为Post
  2,要勾选 Use multipart/form-data for POST,否则request中将不包含上传的文件
  3,MIME-Type类型为application/octet-stream
 http请求入参配置如下:

上传包参数配置如下:

下面是对请求之前在jmeter加了一个前置参数,对请求参数赋值的过程。

 

 请求结果如下:

 

 至此,对于jmeter的upload方面已介绍完毕

 

以上是关于jmeter-fileupload操作使用说明的主要内容,如果未能解决你的问题,请参考以下文章

使用异步操作运行同步代码

如何使用代码为 Visual Studio 等 CRUD 操作生成整个样板代码?

Groovymap 集合 ( map 集合操作符重载 | 使用 << 操作符添加一个元素 | 代码示例 )

使用代码操作windows防火墙的启用与关闭

11.汇编代码简单操作

使用java代码操作redis