對比3種接口測試的工具:jmeter+ant;postman;python的requests+unittest或requests+excel


這篇隨筆主要是對比下筆者接觸過的3種接口測試工具,從實際使用的角度來分析下3種工具各自的特點

分別為:jmeter、postman、python的requests+unittest或requests+excel

 1.利用jmeter進行接口測試

jmeter本身是一個基於java的性能測試工具,它可以自定義發送http請求,並根據響應結果進行斷言,所以借助jmeter自帶的一些元件便可以進行接口自動化測試。

大致思路就是將接口測試用例寫到一份csv文件中,然后構建jmeter腳本逐條讀取csv中的用例數據,結合ant生成測試報告,同時也可以結合jenkins實現自動定時執行腳本

特點:jmeter本身是一個功能強大的開源壓測工具,網上有很多相關的使用教程,即使不進行二次開發,僅針對接口測試的話,也可以達到預期的效果(能夠應對我們公司的大部分接口測試工作),基礎內容的學習成本不是很高;

但是編寫接口測試用例是一個耗時的工作,因為用例都寫在一份csv文件,如果請求參數過多,那么會產生很多組合情況,寫起來其實挺費勁的;

如果想更靈活地運用jmeter的話,需要一定的java功底,對jmeter的一些函數的使用做到心中有數才行,這個需要深入研究並在工作中實踐才好。

相關隨筆:https://www.cnblogs.com/hanmk/category/1037987.html

2.利用postman進行接口測試

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

 3.python的requests+unittest或requests+excel

 先看一段簡介

也就是說我們可以利用requests庫來發送任何http請求,包括:get請求、post請求、put請求等等,所以我們可以用requests進行接口測試或者網絡爬蟲。

筆者分別使用python自帶的unittest單元測試框架和requests+excel的方式進行過接口測試,我們公司並沒有主推使用代碼來進行接口自動化測試,這里更多是自己的一種嘗試,主要是為了提高python應用能力。

特點:對於編程能力強的人,更喜歡自己編寫代碼來進行接口測試,無論是自己寫框架或是借助開源框架再根據業務進行二次開發也好,功能可以定制,用法也比較靈活;

            不過這種方式對個人要求較高,最起碼要熟悉一門語言才好。這種方式也很難在整個組推廣,因為不可能叫所有人都去寫代碼,黑盒測試目前也還是不可或缺的(但這是每個測試人員努力的一個方向,成為一個既業務又懂代碼的測試人員)。

相關隨筆:https://www.cnblogs.com/hanmk/category/1185856.htmlhttps://www.cnblogs.com/hanmk/category/1203663.html

總結

沒有最好的測試工具或方法,只有最適合的。根據實際業務情況進行選擇就好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM