現在市場上能做介面自動化測驗的工具有很多,一搜一大把,讓人眼花繚亂,我們去選擇對應實作方式時,不管是框架體系還是成熟穩定的工具,核心目的都是期望引入的技術能在最低投入的情況下達到最優效果,
那么我們選擇依據出來了:
- 一是最低投入,
- 二是最優效果,
一、先來看最優效果
要達到該點,在做介面測驗前,做為測驗者,我們需要非常明確自己選擇測驗工具去達到的核心目的,通常情況下可能有以下幾個:
這里不僅僅只是說明了全流程自動化介面測驗實作方案,對于常規的介面測驗也進行了羅列
-
開發者除錯介面
-
測驗人員提前介入測驗,盡早發現程式缺陷
-
測驗人員對于系統介面回歸,確保后臺邏輯無缺陷,降低版本迭代風險
如是情況1或者2,在實際的專案開發程序中,這其中的空余時間不固定且零散,按照這樣的預期,我們期望介面測驗工具更為便捷,可以快速的配置出介面測驗腳本或用例,這類介面自動化測驗工具有:
1、Postman

Postman工具的優勢:
- 清晰的圖形界面
- 結合界面操作可以快速的配置介面請求資訊,提供各種型別介面配置,以及資料配置
- 有豐富回應斷言,方便對于介面進行快速驗證
Postman滿足了基本常見介面測驗,但是還是有部分不足的地方,下面就講,
Postman工具的不足:
- 無法連接資料庫
- 無法進行共有的代碼封裝以及引入第三方插件
2、Jmeter

Jmeter工具的優勢
- C/S架構,基于java實作的工具,配置起來比較容易,更偏向于性能測驗;
- JMeter提供了BeanShell編程能力,可以寫出比較靈活的測驗腳本;
- JMeter提供了比較高級的擴展能力,允許自己定義和擴展新的協議支持;
- JMeter的社區比較完善,提供了比較豐富的協議支持;
Jmeter的不足之處:
- 腳本缺乏靈活性,測驗報告更多的偏向于性能方面;
- 對于全自動化實作的支持不足,
3、SoapUI
SoapUI工具的優勢
- SoapUI支持REST和SOAP服務;
- 使用拖放,點擊即可輕松生成測驗腳本,并可以導致代碼形式測驗用例;
- 使用來自檔案和資料庫的資料進行強大的資料驅動測驗;
- 腳本可以輕松重用;
- 使用RESTful模擬模擬服務;
SoapUI不足之處
- 需要破解;
- SoapUI對于PC資源占用大,
4、Airpost
和postman類似,非開源,

最后我們來到情況3:測驗人員對于系統介面回歸,確保后臺邏輯無缺陷,降低版本迭代風險,
這種情況下,我們就需要選擇比較完整的自動化測驗框架并可持續執行,對于該實作形式主要有以下要求:
- 可持續運行;
- 可維護性高;
- 豐富斷言以及報告;
這里推薦一些代碼形式實作介面自動化測驗框架或可視化介面測驗平臺:
5、代碼實作形式:
需要代碼功底,實作功能靈活,可以根據自己需要來進行定制,以便對介面實作比較完整的測驗點覆寫
Java:testng+git+jenkins+httpclient+maven+poi+jsonpath
Python:pytest+git+jenkins+requests
6、可視化介面自動化測驗平臺:
測驗人員只要進行簡單培訓就能進行操作,跟平常使用業務功能系統一樣,方便靈活組織、維護和運行測驗用例,豐富的報告,這里提供兩個開源工具平臺,
EasyTest:https://github.com/lixiaofeng1993/EasyTest
Django實作的可視化介面自動化測驗平臺:https://github.com/githublitao/api_automation_test
二、來看最少投入
通過上面部分的闡述,相信大家對于哪個工具能達到的效果已有了一定的識別,下面我們再回過頭來看到我們另一個依據,最少投入,
投入包含兩部分:一是學習成本投入,二是工具本身的資金投入,
1、從學習成本來看
完整的介面自動化測驗體系學習成本肯定要比Postman、jmeter這類獨立工具成本高,
但Postman、jmeter這類獨立工具來做介面測驗,它們之間的學習難度差距不大,
目前對于一些測驗工具已經公開了學習視頻,進一步降低了大家的學習成本,請看:
Postman學習視頻百度網盤,這些學習視頻我也分享在了文末
2、從工具本身的資金投入來看
部分測驗工具擁有比較強大的功能,但是非開源,在選擇的程序中,個人建議要更偏向于使用開源工具,
三、用表格最后總結
綜合上面的描述,我們用下面的表格來做個小的總結,請看:

結合上面的表格來選擇適合自己需要的介面自動化測驗工具吧,加油,最后預祝你自學也能月薪10k+,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/493112.html
標籤:其他
