JMeter
最近在看接口測試過程中分別接觸到JMeter和postman,下面就對這兩種工具進行一個梳理,也是對自己學習的一個加強,避免后面遺忘,也可以和小伙伴們進行交流一下啦
JMter原本是基於Java的壓力測試工具,現在很多web測試中廣泛應用,JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能,對壓力和並發測試,整體測試比較方便,簡單易用,而且能使用正則表達式進行斷言,這是在測試中對於驗證是非常重要的
優點
1、JMeter可視化界面簡單,條理清楚,參數框和編碼格式能清晰的顯示和調整,一定情況下參數、請求頭正確就可以添加case進行測試
簡單控制器—>添加配置文件—>HTTP信息頭管理器
2、斷言功能可以驗證代碼中是否有需要得到的值
3、使用參數化以及Jmeter提供的函數功能,可以快速完成測試數據的添加修改
4、對於不是很懂變成的人來說比較便捷,測試代碼較少,多數case可以復用,編碼格式不用像其他工具需要添加進腳本里面
5、相對於界面來說能是整套業務更加簡單化,HTTP請求流程更直觀
6、能夠及時修改除response以外的任何數據,及時得到驗證結果,不需要重新添加case再走一遍流程
7、Jmeter不需要要關注對象是否被識別的問題,而其他測試工具在錄制過程中,很容易出現頁面對象不能被錄制工具識別的問題,因此適用Jmeter,省略了很多關於對象操作的麻煩,更易於使用
缺點
1、就算是jmeter腳本順利執行,依舊無法確定程序是否正確執行,有時候需要進入程序查看,或者查看Jmeter的響應數據。
2、Jmeter的斷言功能不是很強大
3、Jmeter腳本的維護需要保存為本地文件,而每個腳本文件只能保存一個測試用例,不利於腳本的維護。
Postman
postman相較於其他工具顯得逼格更高一些(=。=),這是更直觀、便捷和開發人員進行溝通的一個工具,還是同樣比較下優缺點
優點
1、圖形用戶界面簡單易用
2、可以保存接口請求bai的歷史記錄
3、使用測試集Collections可以更bai有效的管理組織接口,支持抓包,保存歷史記錄,多終端同步用例
缺點
1、通過url搜索用例,通過命令行傳參修改環境變量,不能指定執行失敗的測試用例
2、不能操作文件相關的操作,不能讀寫數據庫,不能使用非HTTP協議
比較
Postman功能上更簡單,組織方式也更輕量級,它主要針對的就是單個的HTTP請求。Collection就相當於是Project,而Collection中可以創建不定層級的Folders,可以自己組織TestSuite。每個請求可以當做是一個測試Case或者步驟,Jmeter可以在線程組里添加HTTP、TCP或WebSocket的Sampler,Postman僅支持Rest接口。
關於業務流程的控制,Jmeter是由Switch控制器、If控制器、隨機控制器等一系列控制器實現流程控制,以及Beanshell腳本,而Postman是通過JavaScript腳本控制
Jmeter在TestPlan、Threads Group、Sampler均可添加斷言,Postman請求的Tests中可以添加斷言
從功能上Jmeter最為強大,可以測試各種類型的接口,不支持的也可以通過網上或自己編寫的插件進行擴展。SoapUI專門針對HTTP類型的兩種接口,其初衷更是專門測試Soap類型接口,對於其他協議的接口不支持。Postman更是輕量級,定位也不同,可用來測試Rest接口。
兩者定位不同,有時在想兩者在測試中都能夠滿足需求,為什么學了postman還要再學習JMeter呢,其實想想工具並無好壞強弱之分,定位不同,只能說是基本要求,是一種生產力工具,例如在日常測試中JMeter使用肯定是更多的,因為Postman功能簡單,僅支持Rest接口,肯定滿足不了測試需求,但是在平時和開發溝通api,,難道我們也去使用JMeter嗎,這樣更高效、便捷、快速有結果!