1. 程式人生 > 其它 >postman使用3-前置指令碼與介面關聯

postman使用3-前置指令碼與介面關聯

八、前置指令碼

前置指令碼:在Pre-requests Script中編寫的JavaScript指令碼。一個請求在傳送之前,會先去執行Pre Request Script(前置指令碼)中的程式碼 。

主要使用場景:在傳送請求前需要對介面的資料做進一步處理,就都可以使用這個功能,比如說,登入介面的密碼,在傳送前需要做加密處理,那麼就可以在前置指令碼中做加密處理,再比如說,有的介面的輸入引數有一些隨機數,每請求一次介面引數值都會發送變化,就可以在前置指令碼中編寫生成隨機數的程式碼 。

案例:隨機新增新聞

實現步驟:

  1. 在前置指令碼中編寫生成隨機數
  2. 將這個值儲存成環境變數
  3. 將引數t的值替換成環境變數的值 

指令碼:

  //生成隨機整數   var random = Math.floor(Math.random()*100+1)   console.log("隨機數",random)   //將隨機數儲存為環境變數   pm.environment.set('random',random)

 

 

 

 九、介面關聯

  在我們測試的介面中,經常出現這種情況 。上一個介面的返回資料是下一個介面的輸入引數 

實現思路:

  1. 提取上一個介面的返回資料值,
  2. 將這個資料值儲存到環境變數或全域性變數中
  3. 在下一個介面獲取環境變數或全域性變數

十、常見返回值獲取

{  
    "code": 0,  
    "message": "請求成功!",  
    "data": {  
        "roles": {  
            "api": [  
                "API-USER-DELETE"  
            ],  
            "points": [  //points是陣列,所以需要下標獲取
                "point-user-delete",  
                "POINT-USER-UPDATE",  
                "POINT-USER-ADD"  
            ]  
        },  
        "authCache": null  
    }  
}

//獲取json體資料  
var jsonData = pm.response.json()  
// 獲取user_id的值,通過下標獲取列表中某個元素  
var user_id = jsonData.data.roles.points[1]

 

獲取列表的最後一個元素

{  
    "code": 0,  
    "message": "請求成功!",  
    "data": {  
        "total": 24,  
        "rows": [  
             
            {  
                "id": "1066370498633486336",  
                "mobile": "15812340003",  
                "username": "zbz"  
            },  
            {  
                "id": "1071632760222810112",  
                "mobile": "16612094236",  
                "username": "llx"  
            },  
            ...  
            {  
                "id": "1075383133106425856",  


                "mobile": "13523679872",  
                "username": "test001",  
         
            },

//獲取json體資料  
var jsonData = pm.response.json()  
// 獲取id的值,通過slice(-1)獲取列表中最後一個元素。  
var id = jsonData.data.rows.slice(-1)[0]