目錄:導讀
- 一、設定請求header
- 二、查看回應結果
- 三、postman斷言
- 四、管理請求
- 五、設定環境變數
一、設定請求header
設定請求的header:指設定請求的頭部資訊,當我們打開一個網頁時,瀏覽器要向網站服務器發送一個HTTP請求頭,然后網站服務器根據HTTP請求頭的內容生成當次請求的內容發送給瀏覽器
例1:post請求要發送json資料,那么就必須在請求的header資訊中包含鍵值對:Content-Type:application/json,發送json資料時,postman會自動生成該頭部資訊
例2:用postman客戶端發送之前的百度搜索請求時,由于百度網站設定了必須是瀏覽器訪問才回傳正確的搜索資料,這個時候就需要通過添加User-Agent頭部資訊偽造瀏覽器發送資料給服務器
設定請求的header如下圖所示:

一般情況下,要設定header,可以通過fiddler抓包后去獲取,這樣操作非常方便
二、查看回應結果
Body
Body有三種視圖:Prettry,Raw 和 Preview
Prettry模式:將 JSON 或 XML 回應格式化,使他們更容易被查看,Pretty 模式中的鏈接被高亮顯示, 點擊他們可以在 Postman 中加載一個使用該 URL 的 GET 請求,Raw 視圖只是一個顯示了回應的 body 的大文本區域, 它可以幫助你判斷你的回應是不是被壓縮的
Preview選項卡:在行內沙箱框架中呈現回應,一些 Web 框架默認回傳 HTML 錯誤,這時, Preview 模式就非常有用了,由于行內沙箱框架的限制,JavaScript 和影像在行內框架中是被禁用的,如果你的 API 端點回傳一個影像, Postman 會自動檢測并呈現它,對于二進制回應型別,你應該選擇“Send and download”, 這將讓你保存回應到你的硬碟上,之后你就可以用適當的查看器來查看它,這樣你就可以靈活地測驗音頻、PDF、zip 檔案或 API 給你的任何檔案

Headers
在 Header 選項卡中,headers 顯示為key/value 對,游標懸停 header 名時則會顯示根據 HTTP 規范對 header 的描述,如果你正在發送一個 HEAD 請求, Postman 會默認顯示
Headers 選項卡

Cookies
Postman v0.8.x以上版本 可以顯示瀏覽器cookies,就像它與瀏覽器共享相同的環境一樣,對于本地應用, 你需要啟用 Interceptor,然后你就可以在回應部分的 Cookies 選項卡中查看回應的 cookies
Tests
Tests為執行斷言后的測驗結果

三、postman斷言
作為一款介面測驗工具postman需要對發送請求后回傳的結果是否正確做驗證,在postman中通過tests頁簽做請求的驗證,也稱為斷言,以百度搜索為例
具體操作如下:
1.進入tests頁簽
2.點擊右側的 “ Response body:Contains string ”,腳本編輯框中會顯示出驗證的具體腳本:tests[“Body matches string”] =responseBody.has(“string_you_want_to_search”);修改“
string_you_want_to_search ” 為 “
3.點擊Send按鈕,重新發送請求,查看測驗結果

postman斷言是JavaScript語言撰寫的,在postman客戶端的test區域撰寫即可,斷言會在請求回傳之后,運行,并根據斷言的pass\fail情況體現在最終測驗結果中
常用斷言如下:
1.檢查回應中包含string–Check if response body contains a string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
2.檢查回應body中等于指定string–Check if response body is equal to a string
tests["Body is correct"] = responseBody === "response_body_string";
3.檢查Content-Type是否包含在header回傳(大小寫不敏感)–Content-Type is
present (Case-insensitive checking)
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
4.檢查Content-Type是否包含在header回傳(大小寫敏感)–Content-Type is
present (Case-sensitive)
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content- Type");
5.檢查請求耗時時間小于200ms–Response time is less than 200ms
tests["Response time is less than 200ms"] = responseTime < 200;
6.檢查Status code為200–Status code is 200
tests["Status code is 200"] = responseCode.code === 200;
7.檢查Code name包含指定string–Code name contains a string
tests["Status code name has string"] = responseCode.name.has("Created");
8.檢查成功post的請求status code–Succesful POST request status code
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
9.檢查JSON某欄位值–Check for a JSON value
var data = JSON.parse(responseBody);
tests["json test"] = data.showDes === "0001";
針對JSON資料:
tests["aa"] = data.books[0].pubdate === "2021年12月";
四、管理請求
在做介面測驗程序中,我們所要測驗的介面不止一個,postman提供了持久化管理請求的功能,把單個介面的測驗全部通過專案管理起來
操作如下:
1.進入postman的Collections頁簽,點擊 + 新增一個Collection(可以當成專案)


2.新增后,再點擊Collection中的 " … " ,然后點擊 “Add Folder”,新建一個檔案夾(可以當成模塊)
3.點擊請求頁面sends按鈕旁邊的Save按鈕,在彈出的對話框中選擇剛新建立的專案,修改該介面的名稱,然后點擊save按鈕即可
五、設定環境變數
環境變數:
在公司中,一般會存在開發環境、測驗環境、線上環境等,如果需要在不同的環境下切換做介面測驗,顯然我們需要把所有介面的域名進行反復修改,如果介面測驗用例較多,那么修改會非常費力,postman可直接通過切換環境來實作多個環境中的引數切換
環境請求地址切換
1.點擊右上角設定圖示,選擇Manage Environments–Add,在頁面中設定環境資訊:Environment(開發) —> key(URL) —> Value(api.weixin.qq.com),點擊ADD
2.添加測驗環境:Environment(測驗) —> key(URL) —> Value (127.0.0.1),點擊ADD
3.然后在休要使用環境變數的地方使用 {{URL}} 替換靜態的固定值
如下圖所示:

4.設定好后,在左上角的下拉框可以下拉來切換環境
全域變數
把公共引數可以通過postman設定全域變數來實作,比如埠號,https協議的埠號是443,我們可以做成一個全域變數
設定方法如下:
1.點擊右上角設定圖示,選擇Manage Environments–Add,點擊Globals進入全域變數管理界面
2.添加全域變數:key(PORT) —> Value (443),點擊ADD
3.然后在休要使用環境變數的地方使用 {{PORT}} 替換靜態的固定值
如下圖所示:

感謝每一個認真閱讀我文章的人!!! 如果下面這些資料用得到的話可以直接拿走:
1、自學開發或者測驗必備的完整專案原始碼與環境
2、測驗作業中所有模板(測驗計劃、測驗用例、測驗報告等)
3、軟體測驗經典面試題
4、Python/Java自動化測驗實戰.pdf
5、Jmeter/postman介面測驗全套視頻獲取
我個人整理了我這幾年軟體測驗生涯整理的一些技術資料,包含:電子書,簡歷模塊,各種作業模板,面試寶典,自學專案等,如果在學習或作業中遇到問題可以直接點擊此鏈接進群詢問,群里也會有大神幫忙解答,也可以手動添加群號 743262921 備注222
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/398662.html
標籤:其他
