1. 程式人生 > >1224JMeter、Postman、Requests介面測試經驗分享-POST請求(二)

1224JMeter、Postman、Requests介面測試經驗分享-POST請求(二)

此篇分享,獻給我既愛又恨的自家公司的介面。在自學介面自動化測試中,這個Json引數格式的post請求,我爬了整整4天的坑,害的我中間過週末也頭大。【這部分後面會分享】

(一)POST請求-application/json

此次分享主要講的是Content-Type設定為application/json的POST請求,即以序列號JSON資料的形式提交的post請求。
此種json格式的引數和值 寫成 { “key1”:“value1”, “key2”:“value2”}。
最好先學習簡單的JSON編寫知識【JMeter本身是不能對Json進行格式校驗的】

在這裡插入圖片描述

JMeter訪問此post請求【設定了斷言】

A. 新增資訊頭管理。配置元件》 HTTP資訊頭管理器

B.在資訊頭編輯頁面,輸入content-type application/json

在這裡插入圖片描述

C.http請求,Body Data中輸入json格式的引數
在這裡插入圖片描述
D.響應資訊
在這裡插入圖片描述
E.請求資訊
在這裡插入圖片描述

Postman訪問此post請求【設定了斷言】

A.把請求資料放在Body中;選擇RAW;選擇JSON[application/json];輸入json格式的引數資料
在這裡插入圖片描述
B.Headers自動做了新增。
在這裡插入圖片描述
C.斷言設定和實際的響應體
在這裡插入圖片描述

Requsets庫 自動化測試訪問此post請求【設定了斷言,列印了很多資訊】

最推薦的:直接使用json關鍵字來傳引數,會被自動編碼

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

(二)Fiddler抓包驗證

Pycharm指令碼中的三個請求傳送後,使用Fiddler抓包,結果如下:

【Raw】

A.對應用例的程式碼:r_data = requests.post(url_1, json=t_dict)

在這裡插入圖片描述

B.對應用例的程式碼: r_data = requests.post(url_1, data=json.dumps(t_dict))

在這裡插入圖片描述

C.對應用例的程式碼: r_data = requests.post(url_1, data=demjson.encode(t_dict))

在這裡插入圖片描述

關於請求中的些許差別【在請求頭中 多了一個Content-Type: application/json】,具體原理我也不甚懂;這兒主要是想展示下這些原始資料。
後面的請求頭、響應體及JSON只展示第一個;

【請求頭、響應頭】

在這裡插入圖片描述

【請求的引數、響應的內容】

在這裡插入圖片描述

交流技術 歡迎+QQ 153132336 zy