這篇隨筆主要是對比下筆者接觸過的3種接口測試工具,從實際使用的角度來分析下3種工具各自的特色html
分別爲:jmeter、postman、python的requests+unittest或requests+excel前端
jmeter自己是一個基於java的性能測試工具,它能夠自定義發送http請求,並根據響應結果進行斷言,因此藉助jmeter自帶的一些元件即可以進行接口自動化測試。java
大體思路就是將接口測試用例寫到一份csv文件中,而後構建jmeter腳本逐條讀取csv中的用例數據,結合ant生成測試報告,同時也能夠結合jenkins實現自動定時執行腳本python
特色:jmeter自己是一個功能強大的開源壓測工具,網上有不少相關的使用教程,即便不進行二次開發,僅針對接口測試的話,也能夠達到預期的效果(可以應對咱們公司的大部分接口測試工做),基礎內容的學習成本不是很高;編程
可是編寫接口測試用例是一個耗時的工做,由於用例都寫在一份csv文件,若是請求參數過多,那麼會產生不少組合狀況,寫起來其實挺費勁的;後端
若是想更靈活地運用jmeter的話,須要必定的java功底,對jmeter的一些函數的使用作到心中有數才行,這個須要深刻研究並在工做中實踐纔好。數組
相關隨筆:https://www.cnblogs.com/hanmk/category/1037987.html網絡
postman只作一件事:網頁調試與發送網頁HTTP請求,因此它自然是一款作API自動化測試工具,並且公司的不少研發(不管前端仍是後端)都喜歡用postman來進行調試工做框架
筆者在年初的時候研究過postman的詳細使用方法,並整理成了系列文章,也在組內進行了相關的技術分享(能夠說是真愛了,哈哈)函數
用postman進行接口測試的大體思路就是以建立集合(Collections)的方式來對接口進行分類,而後對接口再進行細分,一個接口的一種參數組合狀況寫一個請求,以下
若是是有關聯的接口,能夠利用環境變量對其進行參數化,靈活運用Pre-request-Script標籤和Tests標籤,便可應對大部分接口測試需求,由於postman自己是基於JavaScript編寫的,因此你能夠編寫js腳原本定製請求(即便是生成時間戳或者MD5 加密簽名)
特色:工具封裝的很好,網頁調試利器,單個調接口十分方便;對於沒有代碼基礎的人來講,新手能夠很快熟悉postman的基礎使用方法,學習成本低;而且學會進階使用方法後能夠應對公司的大部分的接口測試需求。
可是postman在批量執行接口時,生成的報告不太好看,結合Newman+jenkins生成的測試報告更醜
相關隨筆:https://www.cnblogs.com/hanmk/category/1366452.html
先看一段簡介
也就是說咱們能夠利用requests庫來發送任何http請求,包括:get請求、post請求、put請求等等,因此咱們能夠用requests進行接口測試或者網絡爬蟲。
筆者分別使用python自帶的unittest單元測試框架和requests+excel的方式進行過接口測試,咱們公司並無主推使用代碼來進行接口自動化測試,這裏更可能是本身的一種嘗試,主要是爲了提升python應用能力。
特色:對於編程能力強的人,更喜歡本身編寫代碼來進行接口測試,不管是本身寫框架或是藉助開源框架再根據業務進行二次開發也好,功能能夠定製,用法也比較靈活;
不過這種方式對我的要求較高,最起碼要熟悉一門語言纔好。這種方式也很難在整個組推廣,由於不可能叫全部人都去寫代碼,黑盒測試目前也仍是不可或缺的(但這是每一個測試人員努力的一個方向,成爲一個既業務又懂代碼的測試人員)。
相關隨筆:https://www.cnblogs.com/hanmk/category/1185856.html、https://www.cnblogs.com/hanmk/category/1203663.html
沒有最好的測試工具或方法,只有最適合的。根據實際業務狀況進行選擇就好