如何用Postman做介面自動化測試
阿新 • • 發佈:2020-03-04
[toc]
# 前言
## 什麼是自動化測試
把人對軟體的測試行為轉化為由機器執行測試行為的一種實踐。
例如GUI自動化測試,模擬人去操作軟體介面,把人從簡單重複的勞動中解放出來。
本質是用程式碼去測試另一段程式碼,屬於一種軟體開發工作,已經開發完成的用例還必須隨著被測試物件的改變而更新,因此,還有額外的維護成本。
## 自動測試有哪些分類
按測試目的分類
* 功能自動化測試
* 效能自動化測試
按測試物件分類
* Web應用測試
* APP測試
* 介面測試
* 單元測試
## 為什麼需要自動化測試
1. 可以替代大量的手工機械重複性操作,測試工程師可以把更多的時間花在用例設計和新功能的測試上
2. 可以大幅度提升迴歸測試的效率,非常適合敏捷開發過程
3. 可以更好地利用無人值守時間,去更頻繁地執行測試
4. 可以高效實現某些手工測試無法完成或代價巨大的測試型別,例如:7*24小時持續執行的系統穩定性測試和高併發場景的壓力測試
5. 可以保證每次執行的操作具有一致性和可重複性,不會受人的感情因素影響。
# Postman自動化測試演示
postman大家都用得挺多的,使用方法就不介紹了,詳情可以檢視:[官方文件](https://learning.postman.com/docs/postman/collection-runs/starting-a-collection-run/)
## 1.新建集合
就是為了給待測試介面統一分類一下用
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184654139-184232980.png)
## 2.新建介面
下面是我新增的
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184736415-445143556.png)
## 3.填寫自動化測試指令碼
例如,我需要測試幾點
1. http狀態碼200
2. 返回的json的code碼是0
3. 介面返回時間不小於1000毫秒,指令碼如下
```
//檢視httpCode碼
tests["介面狀態碼200"] = responseCode.code === 200;
//判斷請求時間
tests["返回時間小於1000毫秒"] = responseTime < 1000;
//返回body轉json
var data = JSON.parse(responseBody);
//檢查json資料
tests['code碼必須為0']= data.code==0
```
測試結果結果如下
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184758996-2127290227.png)
## 4.錄入所有介面
然後接下我要對所有的介面進行這樣的測試,把這些介面都錄入,如下
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184813403-2092433646.png)
## 5.執行自動化測試
點選集合的Run按鈕
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184821687-93917722.png)
彈出如下介面,可以填寫相應的引數,這裡我用預設的
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184826380-1365796824.png)
點選Run,執行結果如下
![](https://img2020.cnblogs.com/blog/662544/202003/662544-20200304184858924-1294449538.png)
可以看到,我們測試了32個介面,其中25個通過,7個失敗,有的是時間不滿足要求,有的是狀態碼不對。
針對這個結果,我們可以自己去優化介面,就是這麼簡單,light weight baby!