常識普及:
Content-type,在Request Headers里面,告訴服務器,我們發送的請求信息格式,在JMeter中,信息頭存儲在信息頭管理器中,所以在做接口測試的時候,我們維護Content-Type信息在HTTP信息頭管理器中
添加路徑:HTTP請求-》添加-》配置元件-》HTTP信息頭管理器
##以下是重點##
Content-Type與JMeter接口測試的傳參方式有很大關系!!
常見Content-Type有三種:
1.content-type:application/x-www-form-urlencoded 默認格式,當沒有在信息頭指定Content-Type的時候,默認使用這種格式傳參
key1=value1
key2=value2
2. content-type:application/json 參數為json格式
{
"key1":"value1",
"key2":"value2"
}
3.content-type:multipart/form-data 上傳文件用這種格式
不同的content-type如何輸入參數:
1.content-type:application/x-www-form-urlencoded
參數可以在Parameters或Body Data里輸入,格式不同,這兩個參數輸入的tab頁只能使用一個,某一個有數據后不能切換到另一個。
2.content-type:application/json
在HTTP信息頭管理器中,設置好content-type的值等於application/json ,此時,參數只能在Body Data里輸入JSON格式的數據。
3.content-type:multipart/form-data
使用該type有較多設置:
A.HTTP信息頭管理器中,設置content-type的值等於multipart/form-data
B.HTTP請求編輯頁面,勾選設置項
C.HTTP請求頁面,Parameters維護除了上傳文件以外的參數,value-key
D.HTTP請求頁面,Files Upload tab 上傳要上傳的文件,維護“參數名稱”,“MIME類型”
##據說上傳文件不成功,可以修改Implementation為java試一下,Implementation設置在HTTP請求的Advanced tab
報錯: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported,表明當前請求的content-type是application/x-www-form-urlencoded;charset=UTF-8,與輸入參數格式不匹配,需要更換content type
為了避免出現content-type not supported錯誤,在發送請求前,需要明確接口headers規定的content-type值,然后選擇正確的傳參方式
參考博客,寫的超級好的:https://www.cnblogs.com/dinghanhua/p/5646435.html,學習后,做筆記整理得出此文。