14 個開源 REST 與 SOAP 服務 API 測試工具
當我們朝著更多敏捷的左移[譯者註:左移測試]軟體開發過程發展,比如持續集成和持續交付,需要不斷增加對開發人員的快速反饋。
UI 測試的不足之處在於它們很慢,它很難讓開發人員快速了解到他們的代碼是否在最後一次構建中存在問題。而另一種方法,API 測試,往往比 GUI 測試更快更可靠。
在仔細研究 API 測試工具之前,讓我們確保我們擁有一致的、實際的 API。
什麼是 API?
應用程序編程介面(Application Programming Interfaces, API) 是一種軟體組件介面的規範。
大多數功能測試都涉及用戶界面,比如 Web 頁面或 .NET 窗體。API 測試則會避開用戶界面,通過調用 API 來和應用程序直接通信。
API 測試可以用於測試一些無頭測試,比如 JMS HTTP、資料庫和 Web 服務。
API 測試有時候也稱為「無頭」測試。多數無頭測試會繞過 UI 並直接嚮應用後端或服務發送請求,然後接收響應,並驗證響應內容以確保所有事件都和我們期望的一樣在運作。
這個簡單的例子通常被稱為客戶端/伺服器關係。客戶端產生一個需要資源的請求,然後去找到一個滿足該請求的伺服器。伺服器定位所需資源並向客戶端發送反饋。
可以使用什麼 API 測試工具來自動進行 API 測試?
Selenium(https://www.joecolantonio.com/2017/02/21/can-use-selenium-api-testing/)只能用於基於瀏覽器的測試,而你可能需要一個工具來測試基於 Web 服務的 Rest 和 Soap。
這裡有一些不錯的工具可以用來測試基於 Web 服務的 Rest 和 Soap。
Postman
Postman(hhttps://www.getpostman.com/)是一個 Rest 客戶端,它一開始是 Chrome 瀏覽器的插件,不過最近推出了用於 Mac 和 Windows 的本地版本。
你可以在一個較高的級別上使用它,向 Web 伺服器發送 POST 請求後,會收到它的響應。它允許你按照 API 的需要設置所有頭信息和 Cookie,並在得到響應之後對其進行檢查。
可用於自動化測試或探索性測試
可以在 Mac、Windows、Linux 和 Chrome 中運行
擁有不少集成工具,比如 Swagger 和 RAML 格式
可以運行、測試,並擁有文檔和監控功能
不需要學習新的語言
Karate DSL
Karate(https://github.com/intuit/karate)允許你創建一系列的測試,調用 Web 服務並判斷響應是否與預期一致。
構建在 Cucumber-JVM 之上
可以像標準 Java 項目一樣運行測試並生成報告
不需要 Java 知識就可以編寫測試
即使不是程序員也很容易編寫測試
看一個簡單的例子,以此著手使用 Karate 和 BDD。
SoapUI
SoapUI(https://www.soapui.org/)是來自 SmartBear 軟體的無頭測試工具。它有兩個版本:免費開源版和專業版。免費版是開源的,所以你可以獲得它的完全源碼並根據需要來進行修改。Pro 版本的用戶體驗不錯,擁有一些附加功能,包括表單編輯器,XPath 斷言嚮導和 SQL 查詢生成器。免費版本可以讓你:
使用 Groovy 很容易創建自己的代碼
通過拖放創建測試
構建複雜的場景
非同步測試
SoapUI 的 Mock Service(模擬服務) 可以讓你在 Web 服務尚未實現之前先進行模擬
HttpMaster Express
HttpMaster(https://www.httpmaster.net/)自我定位為一種可自動測試網站和服務的 Web 開發和測試工具。 它可用於測試RESTful Web Service 和 API 應用程序。 HttpMaster 還允許您監視 API 響應。
HttpsMaster 項目提供全局選項來自定義您的 API 請求
參數功能使您能夠在請求中包含動態數據
您可以使用「請求鏈「功能,使以前的請求返回的一些數據包含在下一個請求參數中
Rest- Assured
Rest-Assured(http://rest-assured.io/)是一個開源的 Java 特定領域專用語言(DSL)。它讓 REST 服務測試更加簡單。它消除了很多套路化的模板代碼,從而使測試和驗證複雜響應更加簡單。 它還支持 XML 和 JSON 請求/響應。
刪除與 REST 服務交互所需的模板代碼
支持 BDD Given / When / Then 語法
與 Java 項目無縫集成
RestSharp
RestSharp(http://restsharp.org/)是用於 .NET 的一個簡單的 REST 和 HTTP API 客戶端
支持 .NET 3.5+、Silverlight 5、Windows Phone 8、Mono、MonoTouch、Mono for Android
對多數 .NET 項目來說,很容易通過 NuGet 安裝
支持 GET、POST、PUT、PATCH、HEAD、OPTIONS、DELETE
Rest Console
Rest Console(https://github.com/ahmadnassri/restconsole)是一個具有 HTTP 客戶端、請求可視化和構造函數的工具,致力於幫助開發者構建、調試和測試 RESTful API。
輕鬆創建查詢參數
語法高亮
認證支持:Plain、Basic、OAuth 和自定義
RoboHydra Server
RoboHydra(http://robohydra.org/)是用於測試基於 HTTP 客戶端的工具(比如,產生 HTTP 請求的軟體)。也就是說,讓被測試的客戶端不連接到真實的伺服器,而是連接到 RoboHydra 並讓 RoboHydra 按你的需求發出響應。
可用於測試各種各樣的客戶端
用 Javascript 編寫,運行於 Node 環境
Hippie-Swagger
hippie-swagger(https://github.com/CacheControl/hippie-swagger)是個用於測試 RESTful API 的工具。它可以自動測試 Swagger 斷言。它不僅會驗證 API 行為,還會檢查文檔。如果 Swagger 文檔缺失或不準確,將會導致測試失敗。
可以驗證 Swagger 文件的各個方面;參數、請求/響應內容、路徑等。
斷言消息精確易懂
WebInject
WebInject(http://www.webinject.org/)是用於自動測試 Web 應用和 Web 服務的開源解決方案。它可以用於測試具有 HTTP 介面的單個組件 (JSP、ASP、CGI、PHP]AJAX、Servlet、HTML Form、XML/SOAP Web 服務、REST 等)。
這是個命令行工具
使用 Perl 編寫,可安裝在 MS Windows、GNU/Linux、BSD、Solaris、MAC OS
Pyresttest
PyRestTest(https://github.com/svanoort/pyresttest)是基於 Python 的工具,用於測試 REST 和微測
可以用 YAML 或 JSON 配置的方式編寫測試,不需要寫代碼
失敗的時候會返回錯誤代碼
只能在 Mac 和 Linux 上運行
Airborne
Airborn(https://github.com/brooklynDev/airborne)是個開源 API 測試框架,用 Ruby 編寫,基於 RSpec 驅動。
可測試 Rack 應用,比如 Sinatra 和 Grape
可測試 Rails 寫的 API
Unirest
由 Unmesh Gundecha Unirest(http://unirest.io/)推薦,是輕型 HTTP 請求的客戶端庫。
可與 xUnit,BDD 運行工具組合起來,成為測試工具
Mockbin
Mockbin(http://mockbin.org/)由 Augusto Marietti 推薦。Mockbin 允許你在庫、套接字和 API 中創建自定義端點,用於測試、模擬以及跟蹤 HTTP 請求和響應。
模擬自定義端點
創建自定義 HTTP 模塊
記錄並檢查進入自定義端點的調用
※十大 Node.js 的 Web 框架,快速提升工作效率
※7 款頂級的開源 Web 分析軟體
※除了 Python,這些語言寫的機器學習項目也很牛(二)
※漏洞層出不窮 試試這些開源漏洞檢測工具
※Java 庫:為 Java 程序員而生的 10 + 最佳庫
TAG:OSC開源社區 |
※NARS、Addiction、ETUDE HOUSE類似色眼影對比測試,附NARS三款眼妝!
※羅德與施瓦茨和CommSolid展示業內首個針對NB-IoT 3GPP R14基於位置服務的測試方案
※重溫3A遊戲大作 NVIDIA耕升 GeForce GTX 1050 Ti颶風性能測試
※《刺客信條:起源》首檔DLC已上線,NVIDIA耕升GeForce GTX 1070Ti G魂遊戲測試
※AR Cloud公司6D.Ai正在進行SDK測試,尋求封閉測試版的開發人員
※比一比|NARS 、Addiction、ETUDE HOUSE類似色眼影對比測試,附NARS三款眼妝!
※三星Galaxy S9 USB PD快充兼容性測試
※5種CROSSFIT鍛煉來測試你的耐力
※超級核彈NVIDIA GTX 1180 Ti規格及測試信息泄露,性能殘暴
※PUBG 23日PC測試服更新 竟修復了這個BUG
※SI-list中國DDR4測試
※OPPO新機或稱OPPO R15 劉海屏已內部測試
※三星新一代 SSD 860EVO 1TB實際應用啟動速度測試
※PHP的純CPU基準測試
※CADEX推出CAD Exchanger Cloud軟體服務的測試版
※NASA成功測試含3D列印部件的RS-25發動機
※DxOMark公布適馬24-70mm F/2.8 DG OS HSM A鏡頭測試結果
※數字貨幣分析師AAYUSH JINDAL:比特幣或將測試6000美元支撐位
※MEMS測試前景看好 AEM收購Afore
※WebVR華麗升級,WebXR API將在2018 Q1季進行早期測試