postman介面測試系列:基本操作總結
最近專案需要介面測試,所以選擇了不少工具對比,最終決定使用postman進行介面測試,這個工具目前使用比較簡單,但是有點還是比較多的,如下:
- 方便切換不同的環境進行介面測試工作,而不用修改變數或程式碼
- 可以在瀏覽器中直接只用外掛(目前谷歌系統外掛已經不更新了)
- 可以和newman和jenkins整合進行自動化構建,比較方便
安裝
安裝方法一:外掛安裝
直接通過chrome外掛進行安裝,簡單快捷(推薦此方法),前提是必須FQ,這裡推薦使用谷歌訪問助手進行FQ,下載postman外掛進行安裝。
谷歌訪問助手下載地址:見百度網盤地址:連結: https://pan.baidu.com/s/1o8eJiSM 密碼: hek2,將使用的谷歌外掛和postman外掛下載至本地之後,安裝谷歌外掛和postman外掛。
外掛安裝說明直接將外掛拖至谷歌瀏覽器的擴充套件程式中即可完成安裝,如圖
安裝完成之後,在谷歌中開啟新的標籤頁,點選應用,如圖
- 在開啟的應用頁面中,點選postman即可開啟應用,如圖
安裝方法二:下載的exe檔案直接安裝
使用
Postman介面介紹
接下來,簡單介紹下每個功能區都能做些什麼事:
快捷區: 快捷區提供常用的操作入口,包括執行收藏夾的一組測試資料,匯入收藏夾測試資料,或環境配置資料。
設定區: 軟體的常用設定(主題設定、快捷鍵設定等),以及匯出環境資料。
側邊欄: 主要是 Request 請求的歷史記錄,和收藏夾管理。
搜尋欄: 輸入關鍵字,可以搜尋 Request 歷史、收藏夾、收藏夾內的請求。
功能區: Request 請求設定,檢視 Response 響應結果和測試結果。
Postman功能
- 主要用於模擬網路請求包
- 快速建立請求
- 回放、管理請求
- 選擇請求方式:post請求
- 點選”application/x-www-form-urlencoded”,
- 新增key和value資訊,如圖
環境設定
postman中可以設定多種不同環境,方便collections切換在不同的環境中執行而不用再次修改介面資訊,如圖:
圖中顯示的客戶環境和測試環境就是配置的2種環境資訊;
環境的設定操作
在上圖顯示的介面中,點選” 設定”按鈕--manage environments,開啟環境設定介面,如圖所示
在環境介面中新增環境資訊,之後點選Add即可完成環境的配置。
環境中存在兩種變數,一種是環境變數,相當於區域性變數;另外一種是全域性變數(globals)。
環境變數:
當使用API的時候,你可能經常需要使用不同的設定。環境設定可以讓你使用變數自定義request。這個方法可以讓你輕鬆的在不同的設定之間改變而不用改變你的request。你不需要擔心要記住Postman中所有的這些變數的值。環境可以下載儲存為JSON檔案,以後可以再載入他。
參考http://www.jianshu.com/p/bffbc79b43f6
- 環境變數的設定
第一種方法:在具體的環境中,設定該環境的key和value值,如圖
第二種方法:直接在程式碼中設定變數
可以在postman主頁面中的pre-request Script中設定環境變數
設定環境變數:
postman. setEnvironmentVariable (“key”, “value”);
environment.key= " value ";
環境變數可以使用在以下地方:
- URL
- URL params
- Header values
- form-data/url-encoded values
- Raw body content
- Helper fields
在你要使用的變數名上附上雙花括號。
全域性變數:
全域性變數提供了一組總是有效的變數。你可以有很多環境變數,但是同一時間只能有一組有效。但是你可以像使用環境變數一樣使用全域性變數。
- 全域性變數設定
和環境變數一樣,第一種可以在環境設定中新增全域性變數,如圖
點選globals按鈕,開啟全域性變數新增頁面,參考環境變數設定進行操作。
第二種方法:
可以在postman主頁面中的pre-request Script中設定全域性變數
設定全域性變數:
postman. setGlobalVariable (“key”, “value”);
說明:
當全域性變數和環境變量出現同樣的key時,環境變數會覆蓋全域性變數的key值
讀取變數
- 在介面資訊中,可以使用{{key}}來獲取變數資訊,如圖
pre-request Script讀取變數:
getEnvironmentVariable ("key");//獲取key的環境變數
getGlobalVariable(“key”);//獲取key的全域性變數
斷言(部分)
// 推薦用全等 ===,確保型別和值都一致
tests['Status code is 200'] = responseCode.code === 200; //判斷響應結果是否是200
// 判斷是否存在 'code' 值
tests["Body matches code"] = responseBody.has("NON001");
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("sessionId",jsonData.result);//響應結果中的result儲存為sessionId的值
tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;//列印request的請求資訊
tests["have code "]=jsonData.hasOwnProperty("code")===true;//斷言響應結果中是否存在code
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;//斷言響應時間
collections
可以將編寫的介面用例加入collections,便於執行runner操作;加入介面如圖
Runner
在postman主頁面中,點選runner,開啟執行介面,
在runner頁面中,左側顯示的是歷史執行結果,中間是需要進行測試的介面用例資訊,其中Environment顯示的是需要進行的環境設定,而Iteration是需要進行迭代的次數;而右側顯示的是執行介面用例詳情。
其他操作
- 介面用例在瀏覽器中展示操作
在postman介面中,點選” 向左的箭頭 ”按鈕,右側顯示的介面中,view in web操作可以在瀏覽器中展示介面用例資訊;run可以執行需要進行測試的介面用例資訊;
匯出操作 - 在postman介面中,點選“...” 開啟的頁面中,
Edit可以編輯Collections的描述資訊;
Rename重新命名collections
Add Folder新增資料夾
Duplicate 複製collections
Export 匯出collections
如圖所示
以上就是postman介面測試基本使用方法總結,介面測試用例的基本測試點如圖所示