1. 程式人生 > >如何用Postman做介面自動化測試

如何用Postman做介面自動化測試

[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!