1. 程式人生 > >JMeter multipart/form-data 請求自定義 body data 簡述

JMeter multipart/form-data 請求自定義 body data 簡述

起因

專案中開發的一個介面,接收 multipart/form-data 引數,且每個引數都必須指定 Content-Type。現在要使用 JMeter 做效能測試,Files Upload 標籤頁下的引數可以指定 Content-Type,但是 Parameters 標籤頁中的引數不可以(需要指定為 application/json)。這就需要自定義 header 與 body 來實現相關請求的配置。

配置簡述

header 配置

新增 HTTP Header Manager ,在 header 中定義 Content-Type 與 boundary,如圖:
在這裡插入圖片描述

body 配置

勾掉 Use multipart/form-data for POST 複選框,編輯 Body Data 選項卡,示例:

--test_boundary
Content-Disposition: form-data; name="jsonMsg"
Content-Type: application/json

{"testKey":"key001"}
--test_boundary
Content-Disposition: form-data; name="file1"; filename="test-image.jpg"
Content-Type: image/jpeg

${__FileToString(test-image.jpg,,)}
--test_boundary--

在這裡插入圖片描述

說明:

  • 空行,換行,縮排等可參考 RFC1341
  • 使用 __FileToString 獲取上傳的附件

請求資訊:
在這裡插入圖片描述
在這裡插入圖片描述

參考

1.Testing REST API File Uploads in JMeter | BlazeMeter
2.Apache JMeter - User’s Manual: Functions and Variables