1. 程式人生 > 程式設計 >基於postman獲取動態資料過程詳解

基於postman獲取動態資料過程詳解

1、在 Tests 中處理

返回報文為 json 格式的

  • 示例:因為充值記錄介面中需要用到登入介面返回報文中的資訊如下  
  • 以獲取 token(JWT)和 uid 為例  
  • 在登入介面的tests中寫入程式碼(因為登入介面報文資訊中有返回 JWT 和 uid) 

基於postman獲取動態資料過程詳解

輸入完上圖中程式碼後,點選send請求介面,去全域性變數中檢視,是否成功獲取JWT和uid的值並且設定了全域性變數

基於postman獲取動態資料過程詳解

在充值記錄介面中需要用到JWT和uid的地方設定變數{{JWT}}和{{uid}}  

基於postman獲取動態資料過程詳解

請求完成後清除變數  

基於postman獲取動態資料過程詳解

通過批量執行用例的方法執行,且切換賬號進行登入請求,進行驗證充值記錄的動態資料獲取是否成功  

基於postman獲取動態資料過程詳解

基於postman獲取動態資料過程詳解

返回報文為 xml 格式從返回報文中取值設變數  

基於postman獲取動態資料過程詳解

執行完上面介面後在全域性變數中已存在變數 provice  

基於postman獲取動態資料過程詳解

依賴介面將變數中的 value 作為引數傳入  

基於postman獲取動態資料過程詳解

2、在 Pre-request Script 中處理

首先 postman 提供了一個 "Send a request" 程式碼段,他是已經封裝好的傳送請求的方法,這個程式碼段預設只能傳送get請求,且這樣直接使用的話無法指定請求頭等資訊

  • https://postman-echo.com/get 表示要傳送的請求
  • function 中的 err 表示請求返回的錯誤資訊,response 表示響應內容
  • console.log() 是 postman 封裝的檢視日誌的方法,可以調出 postman 的 console 控制檯來檢視程式碼執行情況,方便除錯。想要打印出什麼由自己來定義,上面表示打印出 json 格式的響應資訊

基於postman獲取動態資料過程詳解

假如要傳一個 POST 請求,且 body 引數為 json 資料

var data = {"userName": "17779828887","passWord": "123456"}

const postRequest = {
 url: "http://localhost:8080/user/login",method: 'POST',header:"Content-Type: application/json",body: {
  mode: 'raw',raw: JSON.stringify(data)
 }};

pm.sendRequest(postRequest,function (err,res) {
  console.log(res.json());
  // 講報文中的欄位設為全域性變數
  pm.globals.set("uid",res.json().data.user.uid);
  pm.globals.set("token",res.json().data.token);
});

// const 是 js 中用來定義變數的關鍵字,由 const 定義的變數不可以修改,而且必須初始化
// url 表示要傳送的請求 url;
// method 指定請求方法;
// header 定製請求頭資訊(因為你要傳 json 格式的資料的話,需要在這裡定義請求頭為 Content-Type:application/json,我開始這裡沒填寫,一直提示 json 引數不對。。。)
// body 表示請求 body 中攜帶的引數
// JSON.stringify() 方法是將一個 JavaScript 值(物件或者陣列)轉換為一個 JSON 字串

如果 header 中需要新增多個鍵值對,則需要按照如下方式

header: [
      "Content-Type: application/json","token: duoceshi"
      ]

假如要傳一個 POST 請求,引數型別是 application/x-www-form-urlencode

const form_request = {
  url: "http://192.168.0.221:8181/cms/manage/loginJump.do",method: "post",header: [
   "Content-Type: application/x-www-form-urlencoded"
   ],body:{
    mode: "raw",raw: "userAccount=admin&loginPwd=123456"
  }
};

pm.sendRequest(form_request,response) {
  console.log(response.json());
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。