PostMan的詳細介紹

 不管是接口調試仍是接口測試,postman都算的上很優秀的工具,好多接口測試平臺、接口測試工具框架的設計也都能看到postman的影子,咱們真正瞭解了這款工具,才能夠在這個基礎上進行本身的設計和改造。前端

-簡介git

      界面介紹算法

      主要界面功能介紹npm

      工做臺頁面主要介紹json

-postman基礎用法介紹 vim

-postman高階應用後端

       環境變量api

              全局變量(Globals)安全

              Environment變量cookie

       collection用例集

              用例集建立

              用例集執行

              用例集分享,導入導出

-生成API文檔

-JavaScript腳本

        Postman Sandbox

              經常使用的庫和使用程序

        Pre-request JavaScript

        Tests

-Mock Server

       建立mock server

       編輯mock response(建立example)

       使用mock server

 

簡介

類似工具: 命令行curl fiddler

下載地址:官網下載https://www.getpostman.com/

 若是個人文檔看不明白直接看官方文檔吧:https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates/

postman功能介紹:

  1. 請求調試
  2. 代理抓包
  3. 環境變量設置
  4. 導入與導出
  5. 生成在線API文檔
  6. 自動化測試
  7. mock server

界面介紹


 

主要界面功能介紹

l   New: 新建,能夠建立request(請求),collection(請求集),environment(環境變量)等。

l   Inport:導入,能夠直接導入postman請求集,curl等一些請求文件。

l   Runner: 執行請求,能夠選擇執行請求的collection,而且添加執行參數,例如執行時間,執行次數等等。

l   Workspace: 工做臺,能夠選擇使用我的工做臺或團隊工做臺,能夠建立team而且邀請成員加入一塊兒編輯使用請求集。

l   History: 歷史請求,全部調試的歷史請求數據

l   Collection: 請求集,能夠建立保存,將某些請求放到一塊兒造成請求集

l   Environment: 環境變量,管理設置的環境變量,能夠設置全局環境變量,也可新建環境,添加環境變量

工做臺頁面主要介紹

l   請求方法: 支持get,post,put,patch等請求方法

l   URL: 能夠直接輸入請求URL,也能夠經過環境變量設置,自定義URL

l   Params: 請求參數

l   Authorization:  認證鑑權,支持多種受權鑑權

l   Header: 請求頭

l   Body: 請求體,包含form-data,json,文件上傳等

l   Pre-request-Script: 請求腳本,能夠在請求發起前執行的腳本

l   Tests: 接口測試,請求完成後進行的測試腳本

l   Cookies: 能夠爲請求添加cookies

l   下面就是response的一些信息,返回數據,返回頭,cookie,測試結果等

 

postman基礎用法介紹 

以一個線上課程請求實例來介紹:

URL: http://101.201.177.5/app/api/study/course/list

  1. 建立request, 輸入請求名,請求介紹以及所屬請求集
  2. 選擇請求方法,請求URL,請求參數,header(該實例有token校驗)
  3. 點擊send發送請求,查看response
  4. 點擊save,保存該請求實例

基本上,若是是簡單的接口調試就是按照以上的步驟進行操做

postman高階應用

環境變量

全局變量(Globals)

場景:以線上課程爲例,請求線上課程須要在header中添加認證,那麼每次請求都添加嗎?咱們能夠設置全局變量

  1. 添加global
  2. 設置變量名和value值

 

variable: 變量名

 

 

initial value: 分享出去給team中的人用時的變量值

current value: 當前本身使用該變量時變量的值

      3. 在請求中使用全局變量 格式:{{ 變量名 }}

 

 

Environment變量

場景:以線上課程爲例,首先在本地環境調試,而後發佈到測試環境還須要測試,發佈到線上還須要調試,那每次都更換URL嗎?

 

設置environment變量,能夠選擇相應環境,每一個環境裏有單獨的環境變量使用

 

  1. 添加environment變量
  2. 設置environment變量

    設置:環境名

    variable: 變量名

    initial value: 分享出去給team中的人用時的變量值

    current value: 當前本身使用該變量時變量的值

  3. 使用environment

           

         在postman中使用環境,預覽環境變量,使用環境裏設置的環境變量

        使用語法:{{ 參數名 }}

collection用例集

 

在postman中,全部的請求並不都是獨立存在的,咱們能夠根據項目,根據業務,根據接口的關聯性,依賴性建立請求集來管理咱們的接口。

用例集建立

New」-> 「Collection」-> 「Name」; 「Description」

  輸入用例集名稱,描述,authorination,pre-request,test等,若是添加了這些配置,那麼會對集內的全部請求生效

用例集執行

場景:以線上課程爲例,我想看下線上課程列表,線上課程詳情等相關接口是否都正常?頻繁請求這些接口是否有異常?這就可使用runner,可是runner自己並不能做爲一個壓測工具,由於runner執行是阻塞隊列,串行執行請求,並不能拿來作併發測試,可是能夠簡單看一下接口的健壯性,若是想對接口進行簡單的壓力測試,可使用ab,jmeter等工具

  1. 選擇runner,點擊進入runner設置界面
  2. 選擇collection,選擇環境,設置運行參數

    choose collection: 選擇要運行的用例集

    Environment: 選擇環境變量

    Iterations: 設置循環次數

    Delay: 每次循環的間隔

    Log Responses: 響應日誌,默認

    Data: 選擇csv文件(能夠添加測試數據,在tests中用data參數訪問)

     

    經過對運行參數的設置能夠完成簡單的併發測試

    能夠經過console查看具體的request請求,經過run result查看測試結果

     

用例集分享,導入導出

 

場景:若是後端同窗完成了接口調試,前端是否能夠直接拿到相關項目的接口作聯調?或者前端調試問題須要進行mock server,如何拿到別人的接口數據。

有2種方法能夠選擇

  1. 創建team workspace,分享給團隊人員

    將我的工做臺的collection,分享到team workspace,這樣team裏的人就能夠在team workspace中看到

  2. 直接導出文件,而後給其餘人再導入 返回文檔

生成API文檔

 

咱們能夠直接將collection生成API在線文檔

  1. 若是是本身直接查看本身寫的接口的在線文檔
  2. 生成在線文檔給到其餘人共享 返回文檔

     發佈生成一個api文檔連接

     

JavaScript腳本

 

Postman Sandbox

Postman sandbox 是一個JavaScript執行環境,能夠在爲請求編寫預請求腳本和測試腳本時使用它。

 

經常使用的庫和使用程序

l   Lodash: js實用程序庫

l   Cheerio:核心jQuery Api的快速精簡實現

l   Tv4json模式驗證器: 針對json-schema的v4驗證json對象

l   CrytoJS: 標準和安全的加密算法。支持的算法:AES,DES,EvpKDF,HMAC-MD5,HMAC-SHA1 / 3/256/512,MD5,PBKDF2,Rabbit,SHA1 / 3/224/256/512,TripleDES

l   Xml2Json: xml文件轉換爲json對象

 

Pre-request JavaScript

預請求腳本:在發送請求前執行的腳本

應用場景:

  1. 請求前添加動態請求參數
  2. 請求前添加cookie,header,設置環境變量等

那麼預執行腳本能夠有哪些操做呢?postman給咱們設置好了一些經常使用的操做


返回文檔

返回文檔

返回文檔

大致上有這麼幾種,固然不只僅這些,能夠本身寫js腳原本實現本身的需求

  1. 獲取全局變量, 設置全局變量
  2. 獲取局部環境變量,設置局部環境變量
  3. 清空全局變量,清空局部環境變量
  4. 發送一個請求

Tests

 

在請求完成後,咱們也經過腳本進行測試或進行一些置後的操做,例如重置環境變量,新增環境變量,或者是一些校驗代碼

postman提供的快捷方法有這些:

  1. // 測試返回狀態碼

pm.test("Status code is 200", function () {

    pm.response.to.have.status(200);

});

     2.//測試是否包含某個字段

pm.test("Body matches string", function () {

    pm.expect(pm.response.text()).to.include("string_you_want_to_search");

});

    3.//測試解析json數據

pm.test("Your test name", function () {

    var jsonData = pm.response.json();

    pm.expect(jsonData.value).to.eql(100);

});

    4.//測試是否等於某個字段

pm.test("Body is correct", function () {

    pm.response.to.have.body("response_body_string");

});

   5.//檢查header

pm.test("Content-Type is present", function () {

    pm.response.to.have.header("Content-Type");

});

  6.//請求時間校驗

pm.test("Response time is less than 200ms", function () {

    pm.expect(pm.response.responseTime).to.be.below(200);

});

  7.//返回值在某個區間

pm.test("Status code name has string", function () {

    pm.response.to.have.status("Created");

});

 8.//使用json schema 校驗結果

var schema = {

  "items": {

    "type": "boolean"

  }

};

 

var data1 = [true, false];

var data2 = [true, 123];

 

pm.test('Schema is valid', function() {

  pm.expect(tv4.validate(data1, schema)).to.be.true;

  pm.expect(tv4.validate(data2, schema)).to.be.true;

});

 

Mock Server

 

應用場景: 後端接口寫的差很少的時候能夠直接將postman文件發給前端作mock server,若是前端須要本地復現問題也不須要線上跑業務拿數據再複製下來查看,能夠直接用postman中的接口文件作mock server

如何爲一個collection建立mock server?

建立mock server

1)         直接建立mock server

「new」-> 「mock server」


 

輸入method,URL path,返回值,它會自動給生成collection及mock URL 以及保存example

 

2)         給collection建立mock server



 

在collection中建立一個mock server,建立完成後須要把collection中的請求接口保存爲example,編輯返回值等等

 

編輯mock response(建立example)

 



 

編輯mock地址,以及response body,mock地址要用生成mock server時的那個地址,也能夠將這個地址設置爲環境變量,方便使用。

使用mock server

 

直接使用生成的mock server地址加請求path 就能夠看到mock數據了。

相關文章
相關標籤/搜索