基本功能操作
常用斷言?
定義:postman 斷言借助 JavaScript - js 語言編寫代碼,自動判斷預期結果與實際結果是否一致。( 注意斷言 代碼寫在 Tests 的標簽中)
斷言響應狀態碼
斷言響應體是否包含某個字符串(Response body: Contains string)
斷言響應體是否等于某個字符串(對象)(Response body: Is equal to a string)
斷言JSON數據(Response body: JSON value check)
斷言響應頭(Response headers: Content-Type header check**)
全局變量和環境變量
全局變量
概念:在 Postman 全局生效的變量,全局唯一。
設置變量語法:`pm.globals.set(“全局變量名”,全局變量的值)`?
獲取變量語法:`var 接收值的變量 = pm.globals.get(“全局變量名”)`
請求參數獲取 (postman界面獲取)語法:`{{全局/環境變量名}}` --》是兩個花括號
環境變量
概念:在 特定環境(生產環境、開發環境、測試環境)下,生效的變量,在本環境內唯一。
變量的設置和獲取和全局變量語法相同,將'globals' 改為 ‘environment'
Postman 請求前置腳本 >響應后置腳本也類似
在 send 按鈕點擊后,請求前置腳本代碼,第一時間被執行。在 postman 內部實際 http請求之前。
時間戳的概念:對應絕對時間,從 1970年1月1日00:00:00 (在postman中) 到現在 所經歷的秒數。
案例 > 調用百度首頁接口,傳時間戳給服務器
postman關聯
概念:應用于 多個 http請求之間,有數據關聯、或依賴關系時。
實現步驟:A接口 依賴 B接口 的數據
- 1. 向B接口發送http請求,獲取數據
- 2. 將數據 設置 至 全局變量(環境變量)中
- 3. A 接口 獲取 全局變量(環境變量)中 數據值,進行使用。
批量執行測試用例
Postman讀取外部數據文件(參數化)- 實現“數據驅動”
使用場景
當 http請求,使用的 數據有較高相似度,相同的請求時,考慮使用參數化(將數據組織到數據文件中)。
數據文件類型
CSV:
- 優點:數據組織形式簡單,適用于大量數據的場合。
- 缺點:
1. 不支持 bool類型數據。(bool值會被添加雙引號,變成字符串類型)
2. 不支持 多參、少參、無參、錯誤參數 的接口測試。
3. 不支持復雜數據類型。(如 嵌套字典、列表等)
JSON:
- 優點: 1. 支持 bool 類型。 2. 支持 多參、少參、無參、錯誤參數。 3. 支持復雜數據類型。 - 缺點: 對于相同數據量,json數據文件大小遠大于 CSV文件。
導入外部數據文件 >以’CSV文件‘ 為例
1. 創建 xxx.csv 文件。
2. 將數據寫入到 csv文件中。
3. 在 Postman 中,選中使用數據文件的 用例集,導入數據文件。
使用newman生成測試報告
步驟:
1. 批量執行測試用例集。(確認無誤)
2. 導出 Export 用例集。(得到 xxxx.json文件)
3. 在 終端 中 執行命令,生成測試報告
# 現在 終端中,測試一下 newman run xxxx.json# 完整的命令 newman run xxxx.json -e 環境變量文件 -d 外部數據文件 -r html --reporter-htm]-export 測試報告名.htm]# 示例: newman run 批量執行測試用例.postman_collection.json -r htm]--reporter-htm]-export 我的第一個測試報告.htm1如果添加 -r htm] 就報錯!說明:newman-reporter-htm] 安裝失敗!