postman:4.5.1
1.安裝postman
進入postman官網,若是是mac系統能夠直接點擊mac app安裝javascript
若是是windows的話,須要在windows下安裝chrome瀏覽器,而後在地址欄輸入chrome://extensions,勾選開發者模式html
而後將下載的postman插件解壓,瀏覽器點擊加載已解壓的擴展程序,選擇插件所在目錄就能夠了java
2.測試第一個api,以豆瓣開發者api爲例chrome
這個接口的method爲get,postman默認爲get,在url欄輸入被測接口npm
在接口文檔中,q與tag其中的一個是必填項,因此這裏須要配置參數,點擊url右側的params,並輸入參數json
點擊send按鈕發送請求,在下面能夠看到返回的response,響應的狀態碼,與響應時間windows
response還能夠以不一樣的方式查看,而且還能夠看到cookies,headers信息api
每次以不一樣的參數或者設置,在左側history都會幫咱們記錄一個接口測試歷史,以便於下次從新調用瀏覽器
1.使用自帶的腳本對接口進行測試
點擊tests按鈕,能夠看到右側有個snippets欄,裏面就是postman內置的測試腳本,輔助對接口進行測試cookie
選擇其中的一個腳本,修改其中的參數,再次點擊send,這時response的tests出現了一個1/1,說明執行一個測試而且經過測試,綠色pass說明驗證經過
紅色fail說明測試不經過,一個接口能夠寫多個腳本進行屢次測試
2.內置腳本說明
1. 清除一個全局變量 Clear a global variable 對應腳本: postman.clearGlobalVariable("variable_key"); 參數:須要清除的變量的key 2.清除一個環境變量 Clear an environment variable 對應腳本: postman.clearEnvironmentVariable("variable_key"); 參數:須要清除的環境變量的key 3.response包含內容 Response body:Contains string 對應腳本: tests["Body matches string"] =responseBody.has("string_you_want_to_search"); 參數:預期內容 4.將xml格式的response轉換成son格式 Response body:Convert XML body to a JSON Object 對應腳本: var jsonObject = xml2Json(responseBody); 參數:(默認不須要設置參數,爲接口的response)須要轉換的xml 5.response等於預期內容 Response body:Is equal to a string 對應腳本: tests["Body is correct"] = responseBody === "response_body_string"; 參數:預期response 6.json解析key的值進行校驗 Response body:JSON value check 對應腳本: tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args 參數:test替換被測的值,args替換被測的key 7.檢查response的header信息是否有被測字段 Response headers:Content-Type header check 對應腳本: tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 參數:預期header 8.響應時間判斷 Response time is less than 200ms 對應腳本: tests["Response time is less than 200ms"] = responseTime < 200; 參數:響應時間 9.設置全局變量 Set an global variable 對應腳本: postman.setGlobalVariable("variable_key", "variable_value"); 參數:全局變量的鍵值 10.設置環境變量 Set an environment variable 對應腳本: postman.setEnvironmentVariable("variable_key", "variable_value"); 參數:環境變量的鍵值 11.判斷狀態碼 Status code:Code is 200 對應腳本: tests["Status code is 200"] = responseCode.code != 400; 參數:狀態碼 12.檢查code name 是否包含內容 Status code:Code name has string 對應腳本: tests["Status code name has string"] = responseCode.name.has("Created"); 參數:預期code name包含字符串 13.成功的post請求 Status code:Successful POST request 對應腳本: tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202; 14.微小驗證器 Use Tiny Validator for JSON data 對應腳本: var schema = { "items": { "type": "boolean" } }; var data1 = [true, false]; var data2 = [true, 123]; console.log(tv4.error); tests["Valid Data1"] = tv4.validate(data1, schema); tests["Valid Data2"] = tv4.validate(data2, schema); 參數:能夠修改items裏面的鍵值對來對應驗證json的參數
3.保存api,點擊save按鈕,找到save as按鈕,點擊
這時咱們能夠修改request name 也能夠寫一下請求的描述
接下來新建一個接口集合,寫一個集合的名字,點擊保存
而後在左側功能區,找到collections欄目並點擊
能夠看到剛保存的api集合
4.運行api集合:找到頂層功能區,找到runner按鍵,並點擊
選中剛纔新建的api集合
點擊start test,能夠在右側看到運行的結果
5.命令行運行接口集合:首先下載剛纔建立的集合,點擊export,並保存到指定路徑
安裝postman命令行運行工具newman
注:若是提示沒有npm命令點擊此連接
安裝好newman後,命令行執行,能夠看到執行結果
若是想要報告加上 -H filename 參數便可
1.環境變量的使用:在測試的過程當中咱們可能有多套測試環境,對應每一套測試環境的ip多是不一樣的,可是接口的請求,與參數又是同樣的,最笨的方法是每個環境都寫一個測試集合,可是postman給咱們提供了更爲便捷的方法:使用環境變量
進入請求欄目,找到no environment
點擊no environment,找到manager environments,點擊進入頁面
![Uploading QQ20160812-2_610634.png . . .]
這個頁面能夠進行管理環境變量,點擊add,添加一個環境變量
在這裏輸入環境變量的名字,環境變量是以鍵值對的形式存在的,輸入環境變量的鍵值對,而後點擊add,進行保存
回到請求測試區,點擊no environment ,選擇剛纔新創建的環境變量,同時能夠點擊右側的眼睛來查看環境變量與全局變量(後面會給你們介紹)
如今使用剛纔新建的環境變量來替換uri,引用變量使用{{key}}的形式,將https://echo.getpostman.com用{{test_env}}來替換,並send發送請求
能夠看到這裏的結果和使用https://echo.getpostman.com是同樣的,這樣一組接口就能夠實現寫一次而經過更換環境變量來實現切換不一樣的環境
2.全局變量的使用:雖然咱們可能有多個測試環境,可是咱們的測試數據每一個環境用的都是一組,對於postman至關於只有一組全局變量,對應多組環境變量
一樣的,點擊manager environment
點擊globals,進入環境變量的管理頁面
全局變量globals一樣是以鍵值對的形式保存的,輸入鍵值對,點擊save
回到請求測試區,使用全局變量替換url的參數,引用方法與環境變量的引用方法一致,替換後點擊send,查看結果
response依然以正確的內容顯示出來
3.可使用pre-request script功能來建立環境變量與全局變量,還有銷燬環境變量與全局變量,pre-request script是預置的腳本,執行在請求以前
點擊pre-request script,進入預設腳本頁面
點擊右側的腳本,並設置全局變量與環境變量,並將url進行替換,點擊send發送,看到結果仍是以正確的形式進行展現
一樣的咱們也能夠在tests裏面使用預置的腳本進行設置與清除環境變量用法同樣
4.環境變量與全局變量都已經進行了設置,咱們還能夠在tests裏面進行引用,這樣就解決了上下游數據互傳的問題了了
點擊tests,切換到測試腳本頁面,輸入腳本