Postman的使用教程笔记
目錄
0 前言
1 全局變量和環境變量
1.1 設置全局變量和環境變量
1.2 使用全局變量和環境變量
1.3 注意數據類型問題
2 Header
3 Get和Post方法
3.1 Get方法
3.2?POST方法
4 集合Collections和請求Request(批量測試用例示例)
5 Tests
5.1 動態參數
5.2 測試腳本
6 Mock Servers
7 Cookies
8 Newman
0 前言
本文面向具有一定的計算機網絡基礎、了解Postman的基本使用的讀者。
1 全局變量和環境變量
1.1 設置全局變量和環境變量
在Environments模板里可以設置全局變量和環境變量
1.2 使用全局變量和環境變量
特別注意:
1、JS里面使用全局變量和環境變量,通過調用方法來實現
- pm.environment.get("variable_key");
- pm.environment.set("variable_key",?"variable_value");
- pm.globals.get("variable_key");
- pm.globals.set("variable_key",?"variable_value");
2、其他:通過兩對花括號{{variable_name}}語法使用,注意選擇對應的環境
1.3 注意數據類型問題
會根據所設置的內容,原封不動的放入到使用的地方。?因此如果是字符串,不要忘記帶引號!
若使用時候沒有該變量值,則保留原來的內容,如若沒有blog這個變量,使用{{blog}}時,則會傳遞一個為{{blog}}的值。
可在Console控制臺里查看發送數據的請求頭!?
示例一
示例二
?
?
2 Header
可以自行在Header模塊中添加鍵值對,后者設置的值會覆蓋前者
當使用POST方法時,Content-Type默認會根據Body里設置的相對應,例如選擇JSON格式,則Content-Type會自動對應application/json
3 Get和Post方法
3.1 Get方法
在URL上 ?后面接參數,多個參數之間用?&?符號
3.2?POST方法
POST方法里的Body的參數類型
1、none? ? ? ????????? 無參數
2、form-data? ? ? ? 鍵值對,還可以上傳文件(注意所上傳文件需要在外部工作空間里)
3、x-www-form-urlencoded? ? ? ? 鍵值對
4、raw? ? ? ????????? 原始數據,包括Text、JavaScript、JSON(常用)、HTML、XML
5、binary? ? ? ??????二進制文件
6、GraphQL? ? ? ?不太常用
設置允許讀取外部工作空間權限
raw參數類型包括Text、JavaScript、JSON(常用)、HTML、XML
4 集合Collections和請求Request(批量測試用例示例)
一個項目對應一個Collection,一個接口測試用例對應一個Request。
運行項目時,可以選擇數據文件,作為接口測試用例的輸入,步驟如下:
1、根據接口的輸入參數和輸出參數,編寫接口測試用例。
例如注冊用戶接口,輸入username和password參數,輸出包括status狀態值,編寫如下mydata.csv文件內容
username,password,assert_value
chatu,123456,200
chatu,123456,400
,123456,400
chatu,,400
2、Body里使用?{{}}?讀取到所上傳文件里面的內容,JS里面以對象data的方式對待文件數據,其中data是對象名稱(固定的),例如data.assert_value
注意:有無引號的情況,由于username和password字段值是接收字符串,所以本人加了引號,規范的寫法應該是在創建mydata.csv中就該對username和password的用例設置字符串類型的數據
?
?
3、運行項目時,選擇文件數據,上傳后,點擊Preview可查看所上傳的接口測試用例
?
4、運行,可查看每個斷言的情況
?
?
5 Tests
5.1 動態參數
參考文檔:Dynamic variables | Postman Learning Center
注意參數用{{$timestamp}},JS里用pm.variables.replaceIn('{{$timestamp}}')
5.2 測試腳本
全局斷言:點擊項目里面的Tests模塊
?
?
局部斷言:點擊Request里面的Tests模塊,在正確、錯誤、異常的測試用例情況下,按照接口返回的數據,設置斷言?
其余斷言方法:
1、使用正則表達式,例如responseBody.match(new RegExp("'status':(.*?)"))
2、JSON提取器:JSON.parse(responseBody)
文檔:Using variables | Postman Learning Center
Postman will store environment and global variables as strings. If you’re storing objects or arrays, remember to?JSON.stringify()?them before storing, and?JSON.parse()?them when you retrieve them.
6 Mock Servers
Mock Servers實現模擬接口,可以返回接口數據
1、創建Mock Servers
(1) 配置接口路徑和響應數據 (2) Mock Servers的名稱
?
2、創建成功
(1) 環境里會自動新增該Mock的環境
(2)Collections里會自動新增該Mock的Collection,可在對應的接口的Default設置返回值
(3) Mock的使用和普通的接口使用方法一樣
?
?(4)url供其他項目使用,可復制Mock的url地址
7 Cookies
分類:
(1) 會話Cookies? ? ? ? 瀏覽器關閉,就失效
(2) 持久Cookies? ? ? ? 依據Coookies的有效期限
步驟:
(1) 客戶端第一次訪問服務端,服務端返回Cookies數據;
(2) 客戶端收到Cookies數據;
(3) 客戶端在之后的請求中,會帶上Cookies數據,去請求服務端。
示例:
1、點擊Cookies,可查看當前沒有Cookies數據?
2、向服務端請求數據,服務端返回Cookies數據,響應數據如下?3、此時Cookies里新增這三個Cookies數據,下次再訪問該服務器,則會自動帶上Cookies數據。
?
8 Newman
運行命令 newman run
常用參數?
? ? ? ? -e? ? ? ? 引用環境變量
? ? ? ? -g? ? ? ? 引用全局變量
? ? ? ? -d? ? ? ? 引用數據文件
? ? ? ? -n? ? ? ? 指定測試用例迭代的次數
示例
1、導出 測試用例、全局變量、環境變量、數據文件
2、命令行窗口執行命令
newman run testcase.json -e environment.json -g globals.json -d mydata.json -r cli,html,json,junit --reporter-html-export report.html
3、可以使用Postman+Newman+Jenkins實現持續集成,其中Jenkins作用:?持續、自動地構建/測試軟件項目,監控一些定時執行的任務。
總結
以上是生活随笔為你收集整理的Postman的使用教程笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SuperMap iMobile for
- 下一篇: LeetCode 1658. 将 x 减