Postman是一種網頁調試與發送網頁 http 請求的 chrome 插件。咱們能夠用來很方便的 模擬 get 或者 post 或者其餘方式的請求來調試接口。chrome
一、chrome瀏覽器插件(瀏覽器逐漸不支持,不推薦)json
二、本地應用程序瀏覽器
Postman官網下載:https://www.postman.com/downloads/cookie
以下圖所示。less
接口測試流程:dom
Postman接口測試的必要條件:請求地址、請求協議、請求方式、請求頭、參數。post
接口測試用例的基本測試點如圖所示:測試
Postman接口關聯的幾種方式:設置環境變量、全局變量、Test設置變量ui
Postman中能夠設置多種不一樣環境,方便Collections切換在不一樣的環境中運行而不用再次修改接口信息。url
方法一:以下圖所示。
點擊右上角的齒輪,點擊Add按鈕可設置環境變量(局部變量),另外一個是全局變量(Globals)。以下圖所示。設置環境變量,切換環境,可調用url變量。
方法二:直接在代碼中設置變量
能夠在Postman功能區中的pre-request Script中設置環境變量,以下圖所示。
1 pm.environment.set("variable_key", "variable_value");
上述設置環境變量,提到Globals按鈕點擊便可設置全局變量。或直接在代碼中設置全局變量。能夠在Postman功能區中的pre-request Script中設置全局變量
1 pm.globals.set("variable_key", "variable_value");
Tests設置變量:獲取響應數據的值
1 獲取響應數據json對象 2 //使用var關鍵字,定義一個變量jsonData,用來接收接口的返回結果 3 var Data = pm.response.json(); 4 //從響應數據提取出token 5 var test = Data.token; 6 //設置token,token設置成環境變量 7 pm.enviroment.set("token", token);
Tests設置變量:經過tests,先把接口的返回結果設置成環境變量,而後後續接口就能夠經過環境變量的值進行關聯。
重要知識點:
1 pm.globals.get("variable_key"); 2 pm.variables.get("variable_key"); 3 pm.environment.get("variable_key");
大批量測試以及自動化測試過程當中,對同一個不容許重複的參數進行傳參時,能夠保證其不被重複
經常使用的三種方式:
Postman沙箱(Sandbox)是一個JavaScript執行環境,當您爲請求編寫預請求腳本和測試腳本時,編寫的代碼在這個沙箱中進行。
Postman測試沙箱其實就是結合了JS腳本完成測試中的功能,在請求發起先後實現部分測試操做。
測試沙箱經常使用功能:
(1)Pre-request Script 在請求前,腳本設置前置操做如設置變量等。
(2)Tests在請求後對狀態碼、響應頭、響應正文等信息進行斷言操做。
上述中已經提到,在請求接口前,進行環境變量與全局變量的設置與管理。例 :
1 pm.globals.get("variable_key"); 2 pm.globals.set("variable_key", "variable_value"); 3 pm.environment.set("variable_key", "variable_value"); 4 pm.environment.get("variable_key");
經常使用Tests響應斷言的幾種方式:
(1)Response body:Contains string(校驗返回結果中是否包含某個字符串)
1 pm.test("Body matches string", function () { 2 pm.expect(pm.response.text()).to.include("string_you_want_to_search"); 3 });
(2)Response body:Is equal to a string (校驗返回結果是否等於該字符串)
1 pm.test("Body is correct", function () { 2 pm.response.to.have.body("response_body_string"); 3 });
(3)Response body:JSON value check(校驗返回結果中某個字段值是否等於某個值)
1 pm.test("Your test name", function () { 2 var jsonData = pm.response.json(); 3 pm.expect(jsonData.value).to.eql(100); 4 });
(4)Response header:Content-type header check(校驗響應頭是否包含某個值)
1 pm.test("Content-Type is present", function () { 2 pm.response.to.have.header("Content-Type"); 3 });
(5)Response time is less than 200ms(校驗響應時間是否少於200ms)
1 pm.test("Response time is less than 200ms", function () { 2 pm.expect(pm.response.responseTime).to.be.below(200); 3 });
(6)Status code: Code is 200(校驗響應頭是否包含某個值)
1 pm.test("Status code is 200", function () { 2 pm.response.to.have.status(200); 3 });
打開管理COOKIES模式,請單擊發送按鈕下的Cookies連接。PostMan的本機應用程序提供了一個 MANAGE COOKIES 模式,可以讓您編輯與每一個域相關聯的Cookie。
建立一個cookie:要爲域添加新的cookie,請單擊添加Cookie按鈕。 將建立根據HTTP狀態管理標準的預生成的cookie字符串,但您可使用其下方顯示的文本輸入進行編輯。
點擊保存按鈕將保存到相關域下的應用程序的Cookie存儲區。以下圖所示。
集合是一組請求,運行集合,就會依據所選的環境變量,發送集合中全部的請求,若是配合腳本就能夠構建集成測試套件,在接口請求之間傳遞數據,並構建接口實際工做流的鏡像。若是想要自動化測試接口,運行集合是很是必要的
集合運行器的相關設置。
Monitor簡介
一、點擊須要監控集合右側箭頭,選擇Monitors,點擊「Add a monitor」
二、監控器的相關設置