最近項目需要接口測試,所以選擇了不少工具對比,最終決定使用postman進行接口測試,這個工具目前使用比較簡單,但是有點還是比較多的,如下:
- 方便切換不同的環境進行接口測試工作,而不用修改變量或代碼
- 可以在瀏覽器中直接只用插件(目前谷歌系統插件已經不更新了)
- 可以和newman和jenkins集成進行自動化構建,比較方便
安裝
安裝方法一:插件安裝
直接通過chrome插件進行安裝,簡單快捷(推薦此方法),前提是必須翻牆,這里推薦使用谷歌訪問助手進行翻牆,下載postman插件進行安裝。
谷歌訪問助手下載地址:見百度網盤地址:鏈接: https://pan.baidu.com/s/1o8eJiSM 密碼: hek2,將使用的谷歌插件和postman插件下載至本地之后,安裝谷歌插件和postman插件。
-
插件安裝說明直接將插件拖至谷歌瀏覽器的擴展程序中即可完成安裝,如圖
-
安裝完成之后,在谷歌中打開新的標簽頁,點擊應用,如圖
3. 在打開的應用頁面中,點擊postman即可打開應用,如圖
安裝方法二:下載的exe文件直接安裝
使用
Postman界面介紹
接下來,簡單介紹下每個功能區都能做些什么事:
快捷區: 快捷區提供常用的操作入口,包括運行收藏夾的一組測試數據,導入收藏夾測試數據,或環境配置數據。
設置區: 軟件的常用設置(主題設置、快捷鍵設置等),以及導出環境數據。
側邊欄: 主要是 Request 請求的歷史記錄,和收藏夾管理。
搜索欄: 輸入關鍵字,可以搜索 Request 歷史、收藏夾、收藏夾內的請求。
功能區: Request 請求設置,查看 Response 響應結果和測試結果。
Postman功能
- 主要用於模擬網絡請求包
- 快速創建請求
- 回放、管理請求
- 快速設置網絡代理
Post請求:
這里我們先看一下接口的需求文檔,如圖
頁面訪問請求 http://192.168.1.6/Api/request/createSession
- 在地址欄中輸入請求的url:http://192.168.1.6/Api/request/createSession
- 選擇請求方式:post請求
- 點擊”application/x-www-form-urlencoded”,
- 添加key和value信息,如圖
環境設置
postman中可以設置多種不同環境,方便collections切換在不同的環境中運行而不用再次修改接口信息,如圖:
圖中顯示的客戶環境和測試環境就是配置的2種環境信息;
環境的設置操作
在上圖顯示的界面中,點擊” 設置”按鈕--manage environments,打開環境設置界面,如圖所示
在環境界面中添加環境信息,之后點擊Add即可完成環境的配置。
環境中存在兩種變量,一種是環境變量,相當於局部變量;另外一種是全局變量(globals)。
環境變量:
當使用API的時候,你可能經常需要使用不同的設置。環境設置可以讓你使用變量自定義request。這個方法可以讓你輕松的在不同的設置之間改變而不用改變你的request。你不需要擔心要記住Postman中所有的這些變量的值。環境可以下載保存為JSON文件,以后可以再加載他。
參考http://www.jianshu.com/p/bffbc79b43f6
- 環境變量的設置
第一種方法:在具體的環境中,設置該環境的key和value值,如圖
第二種方法:直接在代碼中設置變量
可以在postman主頁面中的pre-request Script中設置環境變量
設置環境變量:
postman. setEnvironmentVariable (“key”, “value”);
environment.key= " value ";
環境變量可以使用在以下地方:
- URL
- URL params
- Header values
- form-data/url-encoded values
- Raw body content
- Helper fields
在你要使用的變量名上附上雙花括號。
全局變量:
全局變量提供了一組總是有效的變量。你可以有很多環境變量,但是同一時間只能有一組有效。但是你可以像使用環境變量一樣使用全局變量。
- 全局變量設置
和環境變量一樣,第一種可以在環境設置中添加全局變量,如圖
點擊globals按鈕,打開全局變量添加頁面,參考環境變量設置進行操作。
第二種方法:
可以在postman主頁面中的pre-request Script中設置全局變量
設置全局變量:
postman. setGlobalVariable (“key”, “value”);
說明:
當全局變量和環境變量出現同樣的key時,環境變量會覆蓋全局變量的key值
讀取變量
- 在接口信息中,可以使用{{key}}來獲取變量信息,如圖
-
pre-request Script讀取變量:
getEnvironmentVariable ("key");//獲取key的環境變量
getGlobalVariable(“key”);//獲取key的全局變量
斷言(部分)
// 推薦用全等 ===,確保類型和值都一致
tests['Status code is 200'] = responseCode.code === 200; //判斷響應結果是否是200
// 判斷是否存在 'code' 值
tests["Body matches code"] = responseBody.has("NON001");
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("sessionId",jsonData.result);//響應結果中的result保存為sessionId的值
tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;//打印request的請求信息
tests["have code "]=jsonData.hasOwnProperty("code")===true;//斷言響應結果中是否存在code
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;//斷言響應時間
collections
可以將編寫的接口用例加入collections,便於執行runner操作;加入界面如圖
Runner
在postman主頁面中,點擊runner,打開運行界面,
在runner頁面中,左側顯示的是歷史運行結果,中間是需要進行測試的接口用例信息,其中Environment顯示的是需要進行的環境設置,而Iteration是需要進行迭代的次數;而右側顯示的是運行接口用例詳情。
其他操作
- 接口用例在瀏覽器中展示操作
在postman界面中,點擊” 向左的箭頭 ”按鈕,右側顯示的界面中,view in web操作可以在瀏覽器中展示接口用例信息;run可以運行需要進行測試的接口用例信息;
導出操作 - 在postman界面中,點擊“...” 打開的頁面中,
Edit可以編輯Collections的描述信息;
Rename重命名collections
Add Folder添加文件夾
Duplicate 復制collections
Export 導出collections
如圖所示
以上就是postman接口測試基本使用方法總結,接口測試用例的基本測試點如圖所示