前后端分離繞不開(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ī)范 睬涧,稱(chēng)為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 還為用戶(hù)提供了優(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)目的管理废累,又保證了易用性
- 類(lèi)似 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)商,致力于滿(mǎn)足各行業(yè)客戶(hù)在不同應(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ù)字典的錄入
- 用戶(hù)常用到的小工具
- 對(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)依賴(lài)愕秫。有了結(jié)構(gòu)化的API數(shù)據(jù),RAP可以做的更多焰络,而我們可以避免更多重復(fù)勞動(dòng)戴甩。基于RAML的接口定義闪彼、文檔生成甜孤、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è)試】獲人偃铩: