前后端分離繞不開(kāi)的接口測(cè)試
先聊一聊前端和后端分離的優(yōu)點(diǎn)。前后端分離優(yōu)點(diǎn)如下:
- 真正的實(shí)現(xiàn)前后端解耦,前端服務(wù)器使用 nginx;
- 易于發(fā)現(xiàn)bug,可以快速定位是誰(shuí)的問(wèn)題,不會(huì)出現(xiàn)互相踢皮球的現(xiàn)象;
- 減少后端服務(wù)器的并發(fā)/負(fù)載壓力;
- nginx 支持熱部署,不用重啟服務(wù)器,前端無(wú)縫升級(jí);
- 增加代碼的維護(hù)性&易讀性(前后端耦合在一起的代碼讀起來(lái)相當(dāng)費(fèi)勁);
其中不可避免的就是定制好接口文檔,后端工程師要寫(xiě)好單元測(cè)試,推薦使用 chrome 的插件 postman 或 soapui或 jmeter,service 層的測(cè)試用例拿 junit 寫(xiě)。
但是這種情況對(duì)于接口文檔管理很不方便,所以下面就羅列一些互聯(lián)網(wǎng)公司常用的接口文檔管理平臺(tái)。
Swagger開(kāi)源接口框架
Swagger是一個(gè)大型的API開(kāi)發(fā)者的工具框架,該框架提出了一個(gè)編寫(xiě)OpenAPI的規(guī)范(命名為OAS),并且Swagger可以跨整個(gè)API生命周期進(jìn)行開(kāi)發(fā),從設(shè)計(jì)和文檔到測(cè)試和部署。
Swagger框架三核心:
提供了一個(gè)編寫(xiě)API文檔的規(guī)范 ,稱為OAS ,在規(guī)范中明確API的格式和一些編寫(xiě)要素;
提供相關(guān)的工具,對(duì)API文檔的編寫(xiě)提供輔助。主要是這么幾個(gè)項(xiàng)目 Swagger Editor、SwaggerUI、Swagger Codegen、Swagger Inspector;
提供對(duì)各種流行語(yǔ)言和框架的集成,例如集成SpringMVC 的 springfox 框架;
YApi接口管理平臺(tái)
YApi 是高效、易用、功能強(qiáng)大的 api 管理平臺(tái),旨在為開(kāi)發(fā)、產(chǎn)品、測(cè)試人員提供更優(yōu)雅的接口管理服務(wù)。它可以幫助開(kāi)發(fā)者輕松創(chuàng)建、發(fā)布、以及維護(hù)API。除此之外,YApi 還為用戶提供了優(yōu)秀的交互體驗(yàn),開(kāi)發(fā)人員只需利用平臺(tái)提供的接口數(shù)據(jù)寫(xiě)入工具以及簡(jiǎn)單的點(diǎn)擊操作就可以實(shí)現(xiàn)接口的管理。特性:
- 基于 Json5 和 Mockjs 定義接口返回?cái)?shù)據(jù)的結(jié)構(gòu)和文檔,效率提升多倍
- 扁平化權(quán)限設(shè)計(jì),即保證了大型企業(yè)級(jí)項(xiàng)目的管理,又保證了易用性
- 類似 postman 的接口調(diào)試
- 自動(dòng)化測(cè)試, 支持對(duì) Response 斷言
- MockServer 除支持普通的隨機(jī) mock 外,還增加了 Mock 期望功能,根據(jù)設(shè)置的請(qǐng)求過(guò)濾規(guī)則,返回期望數(shù)據(jù)
- 支持 postman, har, swagger 數(shù)據(jù)導(dǎo)入
- 免費(fèi)開(kāi)源,內(nèi)網(wǎng)部署,信息再也不怕泄露了。
難點(diǎn):如果需要要執(zhí)行自動(dòng)化測(cè)試,需要編寫(xiě)腳本。
Eolinker簡(jiǎn)介
Eolinker是國(guó)內(nèi)企業(yè)級(jí)IT研發(fā)管理解決方案服務(wù)品牌,在線API接口管理服務(wù)供應(yīng)商,致力于滿足各行業(yè)客戶在不同應(yīng)用環(huán)境中對(duì)研發(fā)管理全生命周期的個(gè)性化需求,提供API開(kāi)發(fā)管理(AMS)、開(kāi)發(fā)團(tuán)隊(duì)協(xié)作、自動(dòng)化測(cè)試、網(wǎng)關(guān)(AGW)以及監(jiān)控(AMT)等服務(wù)。
特性:
- 接口信息的錄入與導(dǎo)出
- 在線測(cè)試
- 團(tuán)隊(duì)協(xié)作管理
- 支持?jǐn)?shù)據(jù)字典的錄入
- 用戶常用到的小工具
- 對(duì)狀態(tài)碼進(jìn)行管理
ShowDoc在線API文檔
ShowDoc一個(gè)非常適合IT團(tuán)隊(duì)的在線API文檔、技術(shù)文檔工具。
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,BaaS(后端即服務(wù))越來(lái)越流行。服務(wù)端提供API,APP端或者網(wǎng)頁(yè)前端便可方便調(diào)用數(shù)據(jù)。用ShowDoc可以非常方便快速地編寫(xiě)出美觀的API文檔。
項(xiàng)目地址:https://www.showdoc.cc
DOClever接口管理工具
DOClever是一個(gè)可視化接口管理工具 ,可以分析接口結(jié)構(gòu),校驗(yàn)接口正確性, 圍繞接口定義文檔,通過(guò)一系列自動(dòng)化工具提升我們的協(xié)作效率。
特性:
1 接口快照回滾,項(xiàng)目版本控制
2 兼容最新版Swagger,PostMan等平臺(tái)數(shù)據(jù)
3 接口文檔自動(dòng)在線生成
4 Restful,Query,Header,Body,Raw信息一應(yīng)俱全,獨(dú)有的proxy技術(shù)加持為您沖破內(nèi)網(wǎng)的束縛
DOClever官網(wǎng): http://www.doclever.cn/controller/index/index.html
DOClever GitHub: https://github.com/sx1989827/DOClever
RAP2接口管理工具
阿里媽媽前端團(tuán)隊(duì)出品的開(kāi)源接口管理工具RAP第二代,RAP通過(guò)GUI工具幫助WEB工程師更高效的管理接口文檔,同時(shí)通過(guò)分析接口結(jié)構(gòu)自動(dòng)生成Mock數(shù)據(jù)、校驗(yàn)真實(shí)接口的正確性,使接口文檔成為開(kāi)發(fā)流程中的強(qiáng)依賴。有了結(jié)構(gòu)化的API數(shù)據(jù),RAP可以做的更多,而我們可以避免更多重復(fù)勞動(dòng)?;赗AML的接口定義、文檔生成、Mock Server完成了定義和使用的分離,通過(guò)一套規(guī)范完成的接口定義,可以用不同的工具得到適應(yīng)不同API管理系統(tǒng)的輸出,有更多的可能性,同時(shí)保持了核心定義不變。RAP較之于RAML,前者更加集中,所有的定義、文檔、mock都在同一個(gè)服務(wù)中完成,并且實(shí)時(shí)生效,方便快捷,如果只考慮方便易用,RAP是更好的選擇,而RAML顯得更加繁瑣,更適合于公開(kāi)的接口定義,方便在各個(gè)系統(tǒng)之間流轉(zhuǎn)。
github源碼地址:https://github.com/thx/rap2-delos
- 更多測(cè)試技術(shù)分享、學(xué)習(xí)資源以及一些其他福利可關(guān)注公眾號(hào):【Coding測(cè)試】獲?。?/em>