postman 基本應用
前言
進行post高階應用的一個整理。
正文
批量測試和簡單自動化測試
在點選collects的列表中,會彈出下面這個選項。
上面有3個按鈕,分別是分享、執行、展示在網頁中。
那麼就看下這個執行吧。
開啟之後會看到該介面:
上面有個下拉框,label是Environment,可以選擇我們執行環境,這個下面會介紹,執行環境不同引數也就不同了。
iterations 執行多少次。
Delay 延遲多少毫秒
Data 放入一些資料。這個資料用於測試資料,在測試用例中可以讀取使用。
下面有4個小框框。
1.是否儲存返回結果
2.是否儲存變數值。
runner執行設定前沒有勾選keep variable value,如果不勾選keep variable value,則執行Collection Runner中修改的任何變數都不會影響Postman主應用中對應的環境變數值,在Collection Runner執行完成後恢復environment原始的值
如果執行時勾選keep variable value,則Collection Runner執行完成後Postman主應用中對應的環境變數值變更。
3.是否使用cookie
4.是否儲存cookie在collection執行後
執行完後就可以看到結果,結果如下:
那麼正式開始介紹細節吧。
author 2.0認證
這個操作就有點複雜的了。
這個在後面identity4中,結合例子把Author2.0測試一遍。
下面貼下圖:
環境變數和全域性變數
這個概念很好理解,就是當前環境在載入的時候會先載入環境變數。
最左邊的這個東西:
然後開啟後
幾個引數的意思分別是:
variable:變數,可以理解為key
initial value 初始化值,這個是分享給team中其他人,其他人得到的值。
current value 當前值,就是測試的時候會用到的值。
persist all:將current value 替換掉initial value
reset all 全部重置。
然後可以這樣使用:
後面會介紹更多的呼叫方式。
看下全域性變數吧。
全域性變數就是不管你選那個環境,都會存在的變數。
那麼環境變數和全域性變數衝突,那麼會選擇環境變數。
Pre-request Scripts
這個是提前指令碼,這個就是在你的api呼叫前它可以做的一些事情。
這個可以做一些啥子呢?
比如說,你想呼叫id 1到100的結果,類似爬蟲吧。
那麼你可以這個幹。設定一個環境變數為0,然後你再提前指令碼中每次增加1。
然後在後面介紹的api執行後的結果中輸出即可。
設定了環境id為0;
然後自定義raw為:
{
"id":{{id}},
"title":"123"
}
然後pre script為:
console.log(pm.variables.get("id")+1);
pm.variables.set("id",parseInt(pm.variables.get("id"))+1);
然後我在迴圈10次:
結果為:
{
{
"id": 1,
"title": "123"
},
{
"id": 2,
"title": "123"
},
{
"id": 3,
"title": "123"
},
{
"id": 4,
"title": "123"
},
{
"id": 5,
"title": "123"
},
{
"id": 6,
"title": "123"
},
{
"id": 7,
"title": "123"
},
{
"id": 8,
"title": "123"
},
{
"id": 9,
"title": "123"
},
{
"id": 10,
"title": "123"
}
}
再比如說我們在呼叫api的引數中,需要動態生成時間戳、aes加密等,那麼我們需要做的就更多了。
在其左側有提示欄,告訴我們一些常用的函式:
點選紅框部分,可以去檢視文件。
然後很多指令碼,需求可以百度的到,不需要自己去花太多時間構想。
測試
當我們執行完畢後肯定要進行測試了。
這個時候,在左邊有一個tests模組。
設定斷言可以這樣寫:
//資訊儲存
tests["Status code is 200"]=responseCode.code==200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
第一種直接是:tests["Status code is 200"]=responseCode.code==200
第二種複雜的就寫在一個方法裡面。
同樣其左邊為我們提供非常多函式,可以點選一個一個試試看。
生成程式碼
有時候我們可能要在伺服器上做一個快速簡單的測試。
postman其實是可以幫助我們生成程式碼。
點選旁邊的code:
可以幫我們生成多種語言的demo。
其他應用
postman還可以讓我們設定一些其他選項,如是否https證書驗證,請求時間等等等。
其他api測試工具
因為postman團隊作戰的時候是連線的是國外伺服器,所以很多人也用apipost,或者自己搭建。
現在很多api測試工具,度能夠測試資料庫了,如一些檢測機制,可以連線到資料庫進行一些檢測操作(當然是連線測試資料庫了)。