1. 程式人生 > 實用技巧 >postman 進階技巧

postman 進階技巧

  1. cookie
    清除快取

  2. code
    生成介面自動化測試指令碼

  3. 響應部分

    1. pretty 響應以json或xml顯示
    2. raw 響應以文字顯示
    3. preview 以HTML網頁行駛顯示
  4. 斷言
    斷言:用於判斷介面請求是否成功
    最少2個:
    - 狀態斷言:200
    //狀態斷言:
    //斷言狀態碼為200
    pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
    });

    - 業務斷言:可以有多個

//斷言返回的結果中包含一個字串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("access_token");

});
//檢查返回的JOSN資料的值。
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.expires_in).to.eql(7200);
});
//斷言返回的結果等於一個字串
pm.test("Body is correct", function () {
pm.response.to.have.body("{"errcode":0,"errmsg":"ok"}");
});
//斷言響應頭中是否包含Content-Type
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Connection");
});
//斷言介面的請求時間少於200ms
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

  1. 環境變數
  2. 全域性變數
  3. 獲取響應資訊的值
    • 獲取json值
      var jsDate = JSON.parse(responseBody);
      console.log(jsDate.data.tokenId);
      pm.globals.set("new_token",jsDate.data.tokenId);

      • 通過正則表示式提取 (.+?)
        var access_token = responseBody.match(new RegExp('"tokenId":"(.+?)"'));
        pm.globals.set("new_token",access_token);
        console.log(access_token);
        8.內建引數
        {{timestamp}} 伺服器的時間戳 {{randomInt}} 隨機數0-1000的隨機數
        {{$guid}} 隨機字串
        9.非GUI執行
  • 匯出介面用例

    • export 介面用例
    • 匯出環境變數 json
    • 匯出全域性變數 json
  • newman 在Linux執行
    newman:專為postman而生,執行非GUI方式
    命令:
    newman run "e:\yongli.json" -e "e:\huanjing.json" -g "e:\quanju.json" -r cli,html,json,junit --reporter-html-export "e:\result.html"

  • 整合Jenkins