作為一位后端開發(fā),我們平時經(jīng)常需要維護API文檔、對API接口進行調(diào)試、有時候還得Mock數(shù)據(jù)。Postman雖然作為接口調(diào)試工具非常好用,但是對于維護API文檔這類工作卻不太合適。今天給大家推薦一款功能更強大的工具Apifox,足以滿足我們對API的各種需求,希望對大家有所幫助!
Apifox簡介
Apifox 的定位是Postman + Swagger + Mock + JMeter,具有API文檔管理、API調(diào)試、API Mock、API 自動化測試等功能??梢酝ㄟ^一種工具解決之前使用多種工具的數(shù)據(jù)同步問題。高效、及時、準確!
安裝
- Apifox的安裝非常方便,直接下載安裝包解壓安裝即可,下載地址:https://www.apifox.cn/

- 官方非常貼心地提供了示例項目,直接打開即可體驗Apifox的功能,看下界面還是很漂亮的;

- 我們自己使用的話首先需要新建團隊,便于團隊成員之間協(xié)同工作;

- 然后在團隊中新建項目,新建成功后我們就可以開始使用Apifox的強大功能了!

API文檔導(dǎo)入
Apifox的API文檔導(dǎo)入功能非常強大,支持包括Swagger、Postman、YApi、ShowDoc等多達20種工具的導(dǎo)入。接下來我們通過使用之前mall-tiny-swagger項目中的接口,來體驗下它的導(dǎo)入功能!
- 首先我們選擇新建接口按鈕,選擇導(dǎo)入;

- 然后打開導(dǎo)入界面,選擇Swagger->URL導(dǎo)入,輸入Swagger的數(shù)據(jù)URL;

- 導(dǎo)入時將顯示導(dǎo)入預(yù)覽,顯示要導(dǎo)入的接口和數(shù)據(jù)模型,Apifox將會把我們接口返回的實體類轉(zhuǎn)換為數(shù)據(jù)模型,以便進行復(fù)用;

- 導(dǎo)入成功后界面效果如下,Apifox將查看文檔和修改文檔做了區(qū)分,方便我們管理接口文檔。

接口管理
雖然從Swagger中導(dǎo)入的接口文檔已經(jīng)很詳細了,但是為了體驗Apifox更為強大的功能,我們有時候還是需要編輯下接口信息的。
接口設(shè)計
- 看下Apifox的請求參數(shù)界面,非常詳細!

- 再看下Apifox返回結(jié)果界面,支持折疊,這個很多工具都是沒有的;

- 再看下Apifox的修改文檔界面,支持添加狀態(tài)、分組和標簽。

接口調(diào)試
我們再來體驗下Apifox的調(diào)試功能,比Postman更強大!
- 在我們開發(fā)接口時,很多時候需要分不同的環(huán)境,Apifox默認給我們分了測試環(huán)境、正式環(huán)境、Mock服務(wù),這三個基本也夠用了;

- 在調(diào)試接口之前,我們得先設(shè)置好環(huán)境所對應(yīng)的前置URL,比如這里我們設(shè)置了測試環(huán)境的;

- 在Apifox中我們可以使用接口用例來調(diào)試我們的接口,接口用例可以保存我們輸入的參數(shù),以便之后測試使用;

- Apifox支持在接口調(diào)用前后做自定義操作,比如我們可以在后置操作中添加一個斷言,返回結(jié)果中code等于200表示操作成功;

- 此時我們輸錯密碼來調(diào)用下接口,斷言會直接提示我們結(jié)果和預(yù)期不符合;

- 有些接口我們需要傳入Authorization頭才能訪問;

- 這種訪問我們可以通過環(huán)境變量來實現(xiàn),首先在登錄接口中添加后置操作,選擇提取變量,將返回的token提取到環(huán)境變量AUTH_TOKEN中;

- 然后修改接口文檔,在Header中設(shè)置需要傳入Authorization頭;

- 接下來在接口用例中通過表達式使用Authorization頭即可正常訪問需要登錄認證的接口了。

使用腳本
Apifox的自定義前置操作和后置操作非常強大,不僅支持簡單的斷言和提取變量,還能支持編寫JS腳本。
- 例如之前我們判斷操作成功,斷言code等于200可以使用腳本這樣實現(xiàn);

- 此時我們輸錯密碼來調(diào)用下接口,斷言會直接提示我們結(jié)果和預(yù)期不符合。

Mock數(shù)據(jù)
在我們后端接口沒有開發(fā)完成,前端開發(fā)需要數(shù)據(jù)時,往往可以通過Mock來提供數(shù)據(jù),Apifox的Mock數(shù)據(jù)功能也是很強大的。
- Apifox號稱能根據(jù)你數(shù)據(jù)模型中的字段名稱智能Mock,讓我們來看看它的規(guī)則;

- 其實默認的Mock規(guī)則有時候并不是很完善,比如我們來看下它Mock的數(shù)據(jù);

- 此時我們可以在數(shù)據(jù)模型中修改,可以讓Mock的數(shù)據(jù)更加人性化一點,比如我們可以將各種狀態(tài)設(shè)置為枚舉類型;

- 還可以將logo字段通過@image這種方式設(shè)置為圖片類型;

- 重新設(shè)置一下之后,人性化多了;

- 接下來只需把環(huán)境改為Mock服務(wù)就可以調(diào)用Mock數(shù)據(jù)的接口了!

測試管理
Apifox不僅能支持接口調(diào)試,還支持創(chuàng)建測試用例進行批量測試以及性能測試。
- 首先我們可以在測試管理中創(chuàng)建測試用例;

- 之后選擇從接口用例導(dǎo)入,選擇好需要導(dǎo)入的接口用例;

- 選擇好運行環(huán)境后,點擊運行進行批量測試;

- 測試完成后即可顯示測試報告;

- 如果你想進行性能測試的話,在測試界面選擇好線程數(shù)即可;

- 測試完成后,可以通過導(dǎo)出報告來查看更為詳細的報告信息。

主題設(shè)置
個人比較習(xí)慣暗色主題,Apifox也是可以選擇亮色主題和主色的,直接在設(shè)置中可以進行切換。

總結(jié)
Apifox確實是一款界面漂亮、功能強大的API接口工具。Postman有的接口調(diào)試功能它基本都有,還集成了接口文檔管理、數(shù)據(jù)Mock、自動化測試等功能,強烈建議大家嘗試下!
參考資料
官方文檔:https://www.apifox.cn/help/
項目源碼地址
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-swagger
來源:
https://mp.weixin.qq.com/s/C1KzalBualNSyGqdnT3KTA作者:夢想de星空
</article>