Postman 接口測試
前言
Postman 是在測試領域裏非常流行的接口測試工具。
本文介紹該工具從安裝,到錄製用例,再到可以流暢的進行用例回放的整個過程。後面還介紹了一些比較實用的方法,比如數據關聯、自動更新 cookies。
希望本文從淺入深的不斷引導可以幫助到小白可以快速的掌握工具。
一、工具安裝
① 獲取工具
獲取地址: Postman 官網下載
② 賬號登錄
剛進來需要創建個新的賬戶。
進入首頁。
③ 抓包工具獲取
獲取地址: Fiddler 官網
填一下信息就能下載了。
二、接口測試
① 創建一個目錄
創建一個收集夾,用來存放我們錄製的接口用例。
目錄下面可以添加文件夾來進行分類管理,右鍵來進行文件夾添加。
② 編寫腳本
錄製接口用例,可以直接點擊右上角的錄製請求 request,也可以直接點擊右上角。
輸入用例名,下面可以選擇要保存的文件位置,我保存在了我剛纔創建的文件夾裏。
請求方式有很多種,是那種形式取決於頭部顯示的請求方式,上面的加號可以添加新的請求。
③ 抓取請求
我們利用 fiddler 工具來抓取請求。抓取到的請求查看它的 Raw 格式,可以看到上面是表頭參數,下面是 json 表體參數。我們把抓取到的值填到我們建立的用例裏。
④ 填寫用例頭部
頭部參數的第一條填在上面,其它的參數填到下面。通過 Bulk Edit 可以快捷進行頭部內容的填寫。
點擊 Key-Value Edit 可以切回來。
⑤ 填寫用例主體內容
選擇 raw 形式,把表體內容粘進來,再選擇 JSON 格式。
⑥ 測試
點擊 send,看返回值是不是對的,圖中可以看出我返回了正常的 JSON 數據,證明測試成功了。不確定返回的對不對,可以在正常瀏覽器裏做同樣的操作,與開發者工具的 network 看返回值做對比。
一般 json 返回數據會有個狀態,也可以通過這個狀態看有沒有成功。
⑦ 用例回放
點擊左上角的 runner 進入回放頁面。
我們選擇必要的腳本,進行回放即可。
⑧ 設置斷言、檢查點
我們測試時看 response 返回值,成功的話一般會有標誌,我們把這個標誌設置爲檢查點,來看我們的接口是不是成功的。
點擊上面導航欄的 test,然後在右側選擇 Response body: Contains string,然後會多出一些代碼,在我圈住的位置把要檢測的文本內容填進去。
注意: 如果檢測的文本里包含雙引號,前面需要加一個正斜槓 " \" 來轉義。
給大家展示兩種常用的設置檢查點的方式。
// 斷言類型1 - 檢查返回值
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("\"success\":true");
});
// 斷言類型2 - 檢查狀態碼
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
三、高級設置
① cookies獲取
cookies 過一段時間會失效,新增操作如果不取到登錄操作返回的 cookies,一段時間後就不能用了。
新建一個環境,用於保存環境變量,每次回放讓它自動把新的 cookies 存儲到環境變量裏。
後續我們設置完環境變量就能在這裏看到。
可以看到 set-cookis 裏面的值就是我們需要的 cookie 信息。
把上面的環境選擇爲我們創建的環境。
輸入我們提取 cookie 的代碼,然後發送下請求。
// 獲取返回值頭部set-cookie的內容
var jsondata = postman.getResponseHeader("set-cookie");
// 通過;號來分割數據,轉化爲數組形式
data = jsondata.split(";");
// 設置環境變量,data數組裏的第一個值即我們需要的cookie
postman.setEnvironmentVariable("Cookie",data[0]);
如果設置對的話,測試一下,可以看到我們需要的 cookie 值已經提取出來了。
然後我們來引用前面的 cookie 環境變量,發送請求就成功了。
② 數據關聯,提取上一個請求的數據
提交動作往往需要該單據保存時生成的 id,這時我們就需要進行上下文數據關聯才能提交成功。
// 把responseBody轉爲json字符串
var data = JSON.parse(responseBody);
// 把templetid提取出來,存到環境變量裏
pm.environment.set("templetid", data.data.templetid);
示例中:我想要提取我圈住的這個 json 值。
可以看到環境變量裏已經有這個值了。
③ 地址欄引用全局變量
設置個全局變量,然後讓地址欄引用。
可以直接在環境裏添加全局變量。
兩個大括號括起來,就可以引用全局變量了。
還能通過代碼來添加全局變量。
// 添加全局變量
pm.globals.set("url", "http://test.nc-cloud.com");
body 的 raw 引用變量也採用雙括號的方式。
④ json數據格式化
點擊 beautify 可以用來格式 json 數據,方便我們觀察數據、處理數據。
喜歡的點個贊❤吧!