zoukankan      html  css  js  c++  java
  • 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方面已介绍完毕
  • 相关阅读:
    VS远程调试亲历
    IIS7.5 配置虚拟目录的经历
    IE 兼容一问题一小记
    寻找 IBatisNet 批量插入(批量复制) 的心路历程
    Linq 多连接及 left join 实例 记录
    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下
    HDU1754
    HDU1166
    线段树模板
    HDU1599(Floyd最小环)
  • 原文地址:https://www.cnblogs.com/nzg-noway/p/7493678.html
Copyright © 2011-2022 走看看