13款免費(fèi)的API設(shè)計(jì)、開(kāi)發(fā)和測(cè)試工具
譯文【51CTO.com快譯】充分利用REST的API大行其道,用于創(chuàng)建、測(cè)試和管理這種API的工具也方興未艾。無(wú)論你是API新手還是在趕進(jìn)度的專(zhuān)家,都可以獲得諸多服務(wù),幫助API從概念階段進(jìn)入到生產(chǎn)階段,許多服務(wù)不用花一分錢(qián)。
以下是處理API的幾項(xiàng)免費(fèi)服務(wù)。一些是簡(jiǎn)易的應(yīng)用程序,可簡(jiǎn)化組裝或測(cè)試API的任務(wù)。另一些是完整的專(zhuān)業(yè)API管理服務(wù)的入門(mén)版,讓你可以先試用一下;若有需要,可升級(jí)到更專(zhuān)業(yè)的(付費(fèi))服務(wù)。
1.Amazon API Gateway
Free Tier for AWS讓開(kāi)發(fā)人員可以免費(fèi)享用AWS提供的大多數(shù)服務(wù),包括Amazon API Gateway。免費(fèi)的Amazon API Gateway每月最多可以進(jìn)行100萬(wàn)個(gè)API調(diào)用,只持續(xù)一年,但已足以讓你可以上手。
完整的付費(fèi)版Amazon Panel Gateway讓你可以使用流量管理、API版本管理和監(jiān)控軟件包的所有部分等meta-tool工具,為在Amazon EC2和AWS Lambda上構(gòu)建的應(yīng)用程序或“任何Web應(yīng)用程序”構(gòu)建前端API。
鏈接:
2.APImetrics
APImetrics是一種API監(jiān)控和警報(bào)服務(wù),包括可視化API設(shè)計(jì)器、支持REST和SOAP API(簡(jiǎn)化了后者到前者的轉(zhuǎn)換)、允許按順序觸發(fā)多個(gè)API調(diào)用的工作流系統(tǒng),以及針對(duì)需要進(jìn)入下一階段但可能出岔子的任何組件的儀表板。沒(méi)有免費(fèi)版,但該公司確實(shí)提供各檔服務(wù)的14天免費(fèi)試用?;痉桨该刻焯峁?00個(gè)調(diào)用,每月最多15500個(gè)調(diào)用,每月收費(fèi)15美元。
3.Assertible
Assertible讓你可以創(chuàng)建簡(jiǎn)單的測(cè)試或斷言,以監(jiān)控生產(chǎn)環(huán)境中的API??梢詮某R?jiàn)的第三方格式導(dǎo)入API,包括Swagger、Postman和curl。如果你在默認(rèn)域之外進(jìn)行測(cè)試,可以按各種標(biāo)準(zhǔn)對(duì)測(cè)試進(jìn)行分組,然后使用各環(huán)境參數(shù)(比如staging與production)或可選的SSL驗(yàn)證來(lái)執(zhí)行測(cè)試。你還可以按計(jì)劃或通過(guò)觸發(fā)器來(lái)執(zhí)行Assertible測(cè)試,并將測(cè)試狀態(tài)發(fā)布到GitHub上。
個(gè)人方案免費(fèi),不過(guò)它只允許兩項(xiàng)Web服務(wù)、每項(xiàng)服務(wù)10個(gè)測(cè)試,保留1000個(gè)結(jié)果。付費(fèi)方案起價(jià)每月25美元,提高了許多使用上限,允許測(cè)試更頻繁地運(yùn)行。
4.BlazeMeter
BlazeMeter是一種API負(fù)載測(cè)試服務(wù),可提供實(shí)時(shí)報(bào)告功能。其他優(yōu)點(diǎn)包括地理分布式負(fù)載測(cè)試,這意味著你可以從多個(gè)大洲的服務(wù)器生成流量,并支持Apache JMeter創(chuàng)建的測(cè)試。
BlazeMeter的免費(fèi)版讓你每月可以運(yùn)行10個(gè)測(cè)試(每個(gè)最多20分鐘),支持最多50個(gè)并發(fā)用戶(hù),一個(gè)共享負(fù)載生成器和保留一周的數(shù)據(jù)。收費(fèi)方案起價(jià)99美元,支持1000個(gè)并發(fā)用戶(hù),每年200個(gè)測(cè)試,數(shù)據(jù)可保留三個(gè)月。
鏈接:https://www.blazemeter.com/
5.Httpbin.org
Httpbin.org為你提供了一系列HTTP API端點(diǎn)響應(yīng),這些響應(yīng)適用于測(cè)試或調(diào)試發(fā)送請(qǐng)求的前端。你可以用URL參數(shù)配置響應(yīng),而不是通過(guò)Web界面來(lái)配置響應(yīng)。因而很容易使服務(wù)的使用實(shí)現(xiàn)自動(dòng)化。
比如說(shuō),/links/:n端點(diǎn)讓你可以請(qǐng)求擁有n個(gè)HTML鏈接的網(wǎng)頁(yè)——比如說(shuō)以此測(cè)試Web抓取器。Httpbin還有采用類(lèi)似MIT的許可證的Python軟件包。
6.IBM API Connect
與AWS一樣,IBM Cloud提供了足夠可靠的免費(fèi)版,可以讓開(kāi)發(fā)人員領(lǐng)略可用的服務(wù),但功能又不夠全面,無(wú)法構(gòu)建完整的生產(chǎn)級(jí)應(yīng)用程序。與AWS一樣,IBM Cloud在免費(fèi)版IBM API Connect上提供API管理工具。
IBM API Connect最初只是一個(gè)創(chuàng)建API并將其與實(shí)際代碼聯(lián)系起來(lái)的工具。今天它還包括用于執(zhí)行API方面的策略、鼓勵(lì)發(fā)現(xiàn)、創(chuàng)建組合式API設(shè)計(jì)以及“將云服務(wù)與企業(yè)記錄系統(tǒng)整合起來(lái)”的工具。該服務(wù)有免費(fèi)版,每月可享用50000個(gè)API調(diào)用——完全足以試用了。請(qǐng)注意,30天不用后,IBM Cloud自動(dòng)刪除任何免費(fèi)版服務(wù),所以不用它會(huì)失去它。
鏈接:https://cloud.ibm.com/catalog/services/api-connect
7.JsonStub
JsonStub這個(gè)Web界面讓你可以創(chuàng)建API端點(diǎn)的快速模型,返回靜態(tài)文本(比如JSON響應(yīng))以測(cè)試查詢(xún)數(shù)據(jù)的前端。它不是很復(fù)雜。JsonStub正是你所需的,正如JsonStub主頁(yè)所寫(xiě):“你在開(kāi)發(fā)前端時(shí)模仿后端。”
8.Loader
你怎么知道面向公眾的API在它上線的那一刻不會(huì)出嚴(yán)重故障?唯一的辦法就是測(cè)試它在負(fù)載很大的情況下表現(xiàn)如何。通過(guò)Loader的Web界面或API創(chuàng)建目標(biāo)主機(jī)的端點(diǎn),測(cè)試結(jié)果將通過(guò)瀏覽器頁(yè)面實(shí)時(shí)傳送給你。服務(wù)的免費(fèi)版讓你可以每次測(cè)試一分鐘的目標(biāo)主機(jī),每次測(cè)試最多10000個(gè)模擬客戶(hù)和兩個(gè)URL。付費(fèi)方案起步價(jià)為每月99.95美元,大部分使用限制不復(fù)存在。
9.Mockable
Mockable是另一種用于模擬REST和SOAP端點(diǎn)的簡(jiǎn)易服務(wù)?;A(chǔ)版永久免費(fèi),包括為模擬提供HTTPS支持,不過(guò)刪除了三個(gè)月內(nèi)未使用的任何路由,日志僅保留24個(gè)小時(shí)或5MB,每個(gè)三名成員的團(tuán)隊(duì)最多只可以創(chuàng)建10個(gè)模擬。最棒的是,你甚至無(wú)需注冊(cè)即可試用。一進(jìn)入管理控制臺(tái),系統(tǒng)自動(dòng)為你創(chuàng)建臨時(shí)帳戶(hù)。
10.Mockbin
Mockbin出自API專(zhuān)家Mashape(現(xiàn)為Kong),讓你可以創(chuàng)建用于測(cè)試的模擬端點(diǎn)。端點(diǎn)可以使用任何HTTP方法,返回JSON、YAML、XML或HTML格式的結(jié)果,將CORS標(biāo)頭附加到響應(yīng),并記錄和檢查調(diào)用流量。 HAR格式的數(shù)據(jù)也可用于自動(dòng)生成HTTP響應(yīng),因此模擬更接近工作服務(wù)器返回的實(shí)際結(jié)果。Mockbin還有一個(gè)寬松許可的開(kāi)源項(xiàng)目。
11.Pyresttest
Python Rest Testing(簡(jiǎn)稱(chēng)Pyresttest)是用于基準(zhǔn)測(cè)試和REST測(cè)試API的Python工具。測(cè)試以簡(jiǎn)單的YAML或JSON格式來(lái)加以定義,可以整合到工作流中或使用傳統(tǒng)的Python編程機(jī)制加以擴(kuò)展。缺點(diǎn)是:Pyresttest對(duì)Python 3僅提供初步的支持,自2016年以來(lái)未更新過(guò)。
鏈接:https://github.com/svanoort/pyresttest
12.Restlet Studio
Restlet Studio號(hào)稱(chēng)是“面向API設(shè)計(jì)的Web IDE”,它用一組可視化工具來(lái)描述API。除了設(shè)置方法或查詢(xún)參數(shù)外,功能還包括為API自動(dòng)生成框架代碼,甚至自動(dòng)生成客戶(hù)端SDK。Swagger和RAML都得到支持。實(shí)際上,你在處理API時(shí)可以在Swagger和RAML之間切換。
免費(fèi)方案僅支持一個(gè)API,但你可以獲得數(shù)量無(wú)限制的測(cè)試調(diào)用、10MB存儲(chǔ)數(shù)據(jù)和生產(chǎn)環(huán)境中的1000個(gè)調(diào)用。沒(méi)錯(cuò),你可以使用免費(fèi)版部署到生產(chǎn)環(huán)境中,盡管不支持CI/CD或自定義域名之類(lèi)的機(jī)制。
13.Runscope
Runscope提供基于Web的工具包,用于測(cè)試API以確保它們正常運(yùn)行、返回有效數(shù)據(jù)并可以調(diào)試。可以使用Swagger 2.0 API定義標(biāo)準(zhǔn)來(lái)導(dǎo)入測(cè)試方案,并導(dǎo)入一系列其他常見(jiàn)格式,包括Runscope用于自身測(cè)試產(chǎn)品的格式。沒(méi)有免費(fèi)版,但除了定制的企業(yè)版外,所有定價(jià)方案都可以免費(fèi)試用14天。
鏈接:https://www.runscope.com/pricing-and-plans
原文標(biāo)題:13 free tools for API design, development, and testing,作者:Serdar Yegulalp
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】