1. 程式人生 > >jmeter-fileupload操作使用說明

jmeter-fileupload操作使用說明

ade 如何 log 抓包 圖片 cti 需要 req 工具

前言:在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操作使用說明