1. 程式人生 > >Postman安裝與簡單介紹

Postman安裝與簡單介紹

  

  Postman簡介

  Postman是一個 Chrome 擴充套件,能提供強大的 Web API HTTP 請求除錯功能。Postman能夠傳送任何型別的http請求,支援GET/PUT/POST/DELETE等,請求頭中可以附帶任何數量的headers資訊。Postman支援不同的認證機制(basic,digest,OAuth);Postman非常簡單易用,通過填寫URL、header、body等就可以傳送一個請求,這對於我們平時做一些簡單的測試是夠用的。Postman有一個“集合”功能,用於儲存所有請求相同的API/域,這個功能能方便我們重新發送請求

  安裝

  這是一種直接通過打包已經安裝的擴充套件程式方式,來進行安裝的(安裝包見附件)

  1、 開啟Chrome瀏覽器的[擴充套件程式],勾選[開發者模式]

  

圖片描述

 

  2、 點選[載入已解壓的擴充套件程式…]按鈕,找到剛剛下載的安裝包位置,點選確定

  

圖片描述

 

  3、 看看Windows的開始選單,會突然多了一個[Chrome應用]的資料夾,點選裡面的Postman試一下

  

圖片描述

 

  好了,到這裡Postman已安裝完畢

  使用入門

  這是開啟後,你第一眼看到的頁面

  

圖片描述

 

  下面簡單介紹一下可能會使用到的幾個按鈕操作

  

圖片描述

 

  重點看標記出來的幾個按鈕,從上到下、從左至右的順序依次是匯入、新建資料夾、儲存請求、下載。

  匯入:用於匯入你或團隊儲存的API請求檔案,json格式。

  新建資料夾:用於API請求分門別類,便於管理。

  儲存請求:儲存你的API請求,返回值也能儲存下來。

  下載:下載你測試通過的API請求,團隊共享,匯入。json格式,可手動編輯的。

  響應狀態碼

  是用以表示網頁伺服器HTTP響應的3位數字程式碼,訊息(1字頭),成功(2字頭),量定下(3字頭),請求錯誤(4字頭),伺服器錯誤(5、6字頭)

  常見的:

  200 OK:請求已成功,請求所希望的響應頭或資料日將隨次響應返回。

  403 Forbidden:伺服器已經理解請求,但是拒絕執行它。

  404 Not Found:請求失敗,請求所希望得到的資源未被在伺服器上發現。

  500 Internal Server Error:伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在伺服器端的原始碼出現錯誤時出現。

  504 Gateway Timeout:作為閘道器或者代理工作的伺服器嘗試執行請求時,未能及時從上游伺服器(URI標識出的伺服器,例如HTTP、FTP、LDAP)或者輔助伺服器(例DNS)收到響應。

  內建指令碼說明

  

圖片描述

 

  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的引數

  舉例說明

  傳送一個get請求

  Postman安裝完成後,我們來用它向百度傳送一個搜尋請求。比如搜“Postman”吧。

  我們先在百度搜索框輸入“Postman”,點選“百度一下”,然後將瀏覽器位址列的內容複製到Postman的請求位址列,點選Send。這樣,我們就向百度首頁傳送了一個搜尋請求,這個請求是GET請求,如下圖所示。從圖中,我們可以看到本次請求的狀態碼Status是200,表示此次請求傳送成功。本次的請求響應時間是321ms,另外還可以響應的HTML文件。

  

圖片描述

 

  修改請求的引數

  在上圖中點選Params,Postman將會把url中的所有引數解析成一個一個的key-vaule對,如下圖所示。其中wd這個key對應的value是postman。我們將其改成“Chrome”,再次點選Send。請求的結果將變成搜尋“Chrome”的頁面HTML。

  

圖片描述

 

  驗證請求結果

  驗證返回的頁面中包括指定的字串:頁面中包括“Chrome”。

  點選位址列下面的Tests選項卡,進入Tests指令碼編寫頁面。點選“Response body: Contains string”,將“string_you_want_to_search”替換成“Chrome”。點選Send傳送請求,執行測試。在下方Response區域的Test選項卡里,可以看到Pass “Body matches string”,表示該請求的響應體重包含“Chrome”字串,測試通過。

  

圖片描述

 

  不通過測試顯示如下

  

圖片描述