天天看點

API測試工具

如今,越來越多的公司正在向devops的方向左轉,以實作持續內建和持續部署開發。這意味着我們的回報需要比以往更快,以便确定我們的應用程式是否準備好傳遞。這就是api測試如此重要的原因,以及為什麼應将其作為整體自動化政策重要的一部分。

分享一下我認為不錯的五種api測試工具,無論哪種方式,它們都是不錯的選擇。

如果您使用的是java,則rest-assured将是實作api自動化的首選。

rest-assured是一個流行的java庫,可用于測試基于http的rest服務。它在設計時就考慮到了測試,并且與任何現有的基于java的自動化架構內建在一起。它提供了一個類似于bdd的dsl,進而使用java建立api測試變得簡單。它還具有許多内置功能,這意味着不必從頭開始編寫代碼。rest-assured可以和很多測試架構無縫內建,這意味着可以将ui和api測試全部結合在一個架構中,進而生成全面出色的報告。與動态語言(例如ruby和groovy)相比,用java測試和驗證rest服務要困難得多。這是使用rest-assured的另一個原因,因為它将java語言中使用這些語言的簡便性帶給了您。

如果團隊主要由java開發人員組成,對api測試來說rest-assured是非常不錯的選項。

接口測試不一定要使用與開發人員相同的語言來進行必要的測試工作。如果剛好跟開發語言不通,則需要考慮postman進行一些快速而簡單的api測試,而不必擔心其他的開銷。postman還是探索型api測試的不錯選擇。但是它也足夠強大,可以根據需要建立更多內建的解決方案。

postman是一個易于使用的rest用戶端,您可以利用其chrome插件快速入門。mac和windows也都有響應的版本支援。它具有許多rest客戶都沒有的非常豐富的界面,使其易于使用。它還使您可以輕松地與同僚共享知識,因為您可以打包所有請求和期望的響應,然後将其發送給其他人,以便他們也可以檢視。

如果您的團隊不僅要測試api,而且要有一個工具來幫助自動化還有一些探索性api測試工作,那麼postman是一個不錯的選擇。

soapui已經存在了一段時間。如果您的團隊僅進行api測試,并且主要由品質檢查工程師(而非開發人員)組成,那麼soapui可能是您團隊的最佳選擇。soapui是專用于api測試的功能齊全的測試工具。api無需從頭開始建立解決方案,而是使您能夠利用功能齊全的工具嚴格針對api測試。如果出于某種原因需要建立自定義功能,則可以使用groovy在soapui中編寫解決方案的代碼。

如果您的團隊具有複雜的api測試方案,并且由更多的品質檢查/測試工程師組成,重點是不缺錢,那麼soapui是首先的工具。

盡管jmeter是為進行負載測試而建立的,但許多人也将其用于功能api功能和自動化測試。jmeter包括幫助您測試api所需的所有功能,以及一些可用來增強api測試工作的額外功能。例如,jmeter可以自動使用csv檔案,這使團隊可以快速為api測試建立唯一的參數值。它還與jenkins內建,這意味着您可以将api測試包含在持續內建管道中。

如果您打算建立api功能測試,并且還要在性能測試中加以利用,jmeter無疑是最佳的測試解決方案。

fiddler是一個工具,經常用來抓包,它還可以捕獲、操縱和重發http請求。fiddler可以做很多事情來調試網站問題,并且通過它的衆多擴充之一,您可以完成更多工作。其中之一-apitest擴充-極大地增強了fiddler以驗證web api的行為。(驗證者提供了一種輕量級的方法來判斷測試的成功或失敗)

對于更多的核心api測試開發,您可以使用fiddlercore.net類庫來建構其api測試基礎結構。對于使用.net語言的團隊來說,這是一個不錯的選擇,因為您可以使用所需的任何.net語言來開發測試。

沒有完美的工具。每個小組有不同的要求。實際上,所有api測試工具都可以很好地工作,并且是不錯的選擇,具體取決于團隊的需求以及團隊的人員配置,不選最好,選最合适的那個工具。