頁面簡單介紹
參數化
傳入參數格式為json時,無法參數化
傳入參數格式為Params,form-data,x-www-form-urlencoded可以參數化
第一種,單個值參數化:點擊Pre-request Script 輸入 腳本 pm.environment.set("variable_key", "variable_value");variable_key為參數名,variable_value為參數的值,例子如下:
引用的時候,值寫成{{variable_key}}
第二種,批量參數化,比如,以上述圖中接口為例,需要一次查詢多個手機號是否為已注冊用戶
第一步,新建txt文件,使用notepad++編輯,第一行寫下參數名,第二行開始,逐行寫下參數各值,編碼格式設置為UTF-8
也可以新建一個表格文件,也是第一行寫下參數名,第二行開始,逐行寫下參數各值,保存文件格式為.csv
點擊該接口所在Collections右邊的右箭頭,如下圖
在彈出的界面點擊run按鈕,進入Collection Runner界面
在Collection Runner做如下設置,設置完成之后,點擊Run按鈕就可以看到測試結果
設置環境變量
第一種:通過界面設置
點擊” 設置”按鈕--manage environments,打開環境設置界面
在環境設置界面點擊Add
設置完成之后,使用方法如下
第二種:點擊Pre-request Script 輸入 腳本 pm.environment.set("variable_key", "variable_value");這里設置的是環境參數,所以可以寫成:
pm.environment.set("ip", "http://172.16.81.142:8082");引用的時候,寫成{{ip}}即可
測試斷言
postman的斷言是JavaScript語言編寫的,寫在tests標簽里,tests界面右側配置了一些常用的代碼片段,如下圖
舉個栗子,如我們的返回結果為
{
"ver": "1.0",
"ret": true,
"errcode": 0,
"data": "當前任務正在執行中, 請不要重復提交"
}
現在我們要對data斷言,我們點擊右側的代碼片段,檢查body包含字符串,左側自動出來一段代碼
【Body matches string】是該條測試的名字,可自行定義,我們改為【校驗data字段】;
【string_you_want_to_search】是我們要校驗的字符串,這里我們修改為 當前任務正在執行中, 請不要重復提交
執行查看結果為pass
上面只是tests其中一個方法,剩余的簡單介紹下:
清除環境變量
設置一個全局變量
得到一個環境變量
檢查response body中是否包含某個string
檢測JSON中的某個值是否等於預期的值
轉換XML body為JSON對象
檢查response body是否與某個string相等
測試response Headers中的某個元素是否存在(如:Content-Type)
驗證Status code的值
驗證Response time是否小於某個值
學習一個東西最好的途徑就是查看官方文檔,這個是官方寫的【Test examples】,可以自行學習更深入的斷言https://www.getpostman.com/docs/v6/postman/scripts/test_examples
Jenkins+Postman+Newman之API全自動化測試流程
http://www.51testing.com/html/75/n-3724975.html
獲取上個接口的返回值(傳入參數為json格式不支持)https://blog.csdn.net/weixin_42619964/article/details/82878752
上個接口,在Tests里面設置返回參數環境變量,用來保存參數的值:
如: var Jsondata=JSON.parse(responseBody);
pm.environment.set("返回值中某個參數名",Jsondata.返回值中某個參數名)
新的接口需要用到這個返回的參數,就{{參數名}}格式來替代值使用