postman 進階技巧
阿新 • • 發佈:2020-07-08
cookie
清除快取code
生成介面自動化測試指令碼響應部分
- pretty 響應以json或xml顯示
- raw 響應以文字顯示
- preview 以HTML網頁行駛顯示
斷言
斷言:用於判斷介面請求是否成功
最少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 () {
});
//斷言介面的請求時間少於200ms
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
- 環境變數
- 全域性變數
- 獲取響應資訊的值
- 獲取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執行
- 通過正則表示式提取 (.+?)
- 獲取json值
匯出介面用例
- 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