目錄
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作用: 持續、自動地構建/測驗軟體專案,監控一些定時執行的任務,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/382850.html
標籤:其他
上一篇:跪了,Alibaba內部優質Springboot筆記:兩大專案實戰+原始碼決議
下一篇:first-jmeter001
