1. 程式人生 > 其它 >Postman高階用法(2)

Postman高階用法(2)

1.Postman設定環境變數

1.1環境變數與全域性變數

 全域性變數:作用範圍是針對postman下面所有測試集均生效
 環境變數:①只對選擇了對應環境變數的測試集生效
          ②環境一般分為開發環境,測試環境,生產/線上環境(部分公司可能在測試與生產環境之間存在預生產環境)
          ③一套環境中變數不能重複,但是可以定義多個不重複的變數

1.2手動設定全域性變數與環境變數

 (1).全域性變數
 (2).環境變數

1.3程式碼設定全域性變數與環境變數

 # 在Tests中編寫如下程式碼實現變數的設定, 需要傳送請求
 # (1).全域性變數的設定
    pm.globals.set("variable_key", "variable_value");
 # (2).環境變數的設定
    pm.environment.set("variable_key", "variable_value");
 # 注意: 通過程式碼實現環境變數的新增, 需要先選中⼀個環境, 才能設定成功.

1.4變數的使用

  ⽆論在URL中, 還是在請求頭中, 或是在請求體中都可以使⽤{{variable}}的⽅式使⽤變數, 但需要注意的
是請求體中傳遞JSON資料⼀般我們會給實際的值加引號, ⽐如⼀個字串. 但在使⽤變數時, 不要給
{{variable}}新增引號, 否則postman會將“{{variable}}”當做⼀個字串.
  
  // 獲取全域性變數
  var value = pm.globals.get("var_name");

  // 獲取環境變數
  var value = pm.environment.get("var_name");

2.介面關聯

2.1介面關聯

  當請求之間有依賴關係, ⽐如⼀個請求的⼊參是另⼀個請求返回的資料, 這時候需要⽤到關聯處理.

2.2介面關聯的思路

  要獲取某個請求的響應結果, 可以通過在Tests標籤⻚中編寫JavaScript指令碼來實現
    // 獲取json格式的響應資料
    var jsonData = pm.response.json();
  多個請求之間可以使⽤全域性變數或環境變數來傳遞資料
    // 把資料儲存到全域性變數中
    pm.globals.set("token", token)
  獲取某個全域性變數的值
    // ⾮程式碼形式獲取:
    {{variable}}
    // 程式碼形式獲取:
    pm.globals.get("variablename")

2.3介面關聯案例

    (1).請求獲取天⽓的接⼝,http://www.weather.com.cn/data/sk/101010100.html
    (2).獲取返回結果中的城市名稱
    (3).調⽤百度搜索接⼝: http://www.baidu.com/s?wd=北京 ,把獲取到的城市名稱作為請求引數
      // 實現思路
      (1).postman訪問天⽓接⼝, 在Tests中編寫指令碼:
       - 先獲取接⼝的響應資料, 轉化為json資料格式
       - 從json資料中取出city的值
       - 將city的值設定為全域性變數
      (2).訪問百度查詢接⼝, 將關鍵詞設定為上⼀個請求新增的環境變數的值
      // 指令碼
        var jsonData = pm.response.json();
        var city = jsonData.weatherinfo.city;
        console.log("city為: + city);

        pm.globals.set("city", city);
      // 百度查詢URL
        http://www.baidu.com/s?wd={{city}}

3.批量執行測試用例

    要想批量執⾏測試⽤例,需要先把接⼝請求新增到測試集中,通過運⾏測試集的⽅式就可以實現批量運
⾏測試⽤例。
  // 實現:
   (1).建立測試集
   (2).在測試⼏種新增接⼝請求
   (3).運⾏測試集(實現測試集中多接⼝⽤例批量執⾏)