postman(動態數據獲取)


1、在 Tests 中處理

  • 返回報文為 json 格式的
    • 示例:因為充值記錄接口中需要用到登錄接口返回報文中的信息如下  
    • 以獲取 token(JWT)和 uid 為例  
    • 在登錄接口的tests中寫入代碼(因為登錄接口報文信息中有返回 JWT 和 uid)  

    • 輸入完上圖中代碼后,點擊 send 請求接口,去全局變量中查看,是否成功獲取 JWT 和 uid 的值並且設置了全局變量

    • 在充值記錄接口中需要用到 JWT 和 uid 的地方設置變量 {{JWT}} 和 {{uid}}  

 

    • 請求完成后清除變量  

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

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

    • 執行完上面接口后在全局變量中已存在變量 provice  

    • 依賴接口將變量中的 value 作為參數傳入  

 

2、在 Pre-request Script 中處理

  • 首先 postman 提供了一個 "Send a request" 代碼段,他是已經封裝好的發送請求的方法,這個代碼段默認只能發送get請求,且這樣直接使用的話無法指定請求頭等信息
    • https://postman-echo.com/get 表示要發送的請求
    • function 中的 err 表示請求返回的錯誤信息,response 表示響應內容
    • console.log() 是 postman 封裝的查看日志的方法,可以調出 postman 的 console 控制台來查看代碼運行情況,方便調試。想要打印出什么由自己來定義,上面表示打印出 json 格式的響應信息

  • 假如要傳一個 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, function (err, response) {
    console.log(response.json());
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM