apifox支持快速的API文檔處理、API 調試、API Mock以及API自動化測試,接口調試工作效率高,能夠在編輯設計的時候及時發現問題并讓程序編程師進行修改,整合多復合數據結構,多api設計功能于一體,操作安全、穩定且流暢,是很多程序員朋友們常備的api管理調試工具。
這是一款接口調試工具,方便用戶對API進行測試,支持可視化接口管理,接口調試,自動校驗數據結構,自動化測試等功能,讓用戶在開發過程中更方便快捷的對接口進行測試。支持數據結構(JSON Schema)管理,多接口可復用相同數據結構,還支持如環境變量、預執行腳本、后執行腳本、Cookie/Session 全局共享等功能。
API 文檔設計
可視化 API 文檔管理,零學習成本。
支持數據模型,接口之間可以復用相同數據結構。
接口文檔完全遵循 OpenAPI(Swagger) 規范。
支持在線分享 API 文檔,方便與外部團隊協作。
API 調試
Postman 有的功能 Apifox 都有(如環境變量、前置/后置腳本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。
自動校驗數據結構:校驗返回的數據結構是否符合文檔定義,自動發現接口數據異常。
支持接口用例功能(一個接口多個用例)。
API 自動化測試
完善的 API 場景測試(流程測試)功能,保證接口數據的正確性。
可視化的斷言、提取變量、數據庫(SQL)操作等功能。
支持自定義前置/后置腳本,自動校驗數據正確性。腳本語法 100% 兼容 Postman,降低學習成本。
支持調用 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等語言代碼。
API 數據 Mock
零配置即可 mock 出非常人性化的數據(根據 API 文檔智能 mock)。
內置 Mock.js 規則引擎,非常方便 mock 出各種數據,并支持定義數據結構時設置 mock 規則。
支持根據不同參數值返回不同數據內容。
CI 持續集成
支持命令行方式運行 API 測試 (Apifox CLI)。
支持集成 Jenkins 等持續集成工具。
數據庫操作
支持讀取數據庫數據,作為 API 請求參數使用。
支持讀取數據庫數據,用來校驗(斷言) API 請求是否成功。
自動生成代碼
根據接口/模型定義,自動生成各種語言/框架的業務代碼和 API 請求代碼。
支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 種語言及框架。
支持自定義代碼模板,自動生成符合自己團隊的架構規范的代碼,滿足各種個性化的需求。
支持 HTTP、TCP、RPC
支持 HTTP(s) 接口管理。
支持 Socket (TCP) 接口管理。
后續將會支持 GraphQL、Dubbo、gRPC、WebSocket 等協議接口。
數據導入/導出
支持導出 OpenAPI (Swagger)、Markdown、Html 等數據格式。
支持導入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、NEI、RAML、DOClever 、Apizza 、DOCWAY、ShowDoc、apiDoc、I/O Docs、WADL、Google Discovery 等數據格式。
團隊協作
接口數據云端同步,實時更新。
成熟的團隊/項目權限管理,支持管理員、普通成員、只讀成員等角色設置,滿足各類企業的需求。
#一、如何解決這些問題
#1、Apifox 定位
Apifox = Postman + Swagger + Mock + JMeter
Apifox 是 API 文檔、API 調試、API Mock、API 自動化測試一體化協作平臺。
通過一套系統、一份數據,解決多個系統之間的數據同步問題。只要定義好接口文檔,接口調試、數據 Mock、接口測試就可以直接使用,無需再次定義;接口文檔和接口開發調試使用同一個工具,接口調試完成后即可保證和接口文檔定義完全一致。高效、及時、準確!
#2、Apifox 功能
接口設計:Apifox 接口文檔遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 規范的同時,提供了非常好用的可視化文檔管理功能,零學習成本,非常高效。并且支持在線分享接口文檔。
數據模型:可復用的數據結構,定義接口返回數據結構及請求參數數據結構(僅 JSON 和 XML 模式)時可直接引用。支持模型直接嵌套引用,直接 JSON/XML 智能導入,支持 oneOf、allOf 等高級組合模式。
接口調試:Postman 有的功能,比如環境變量、前置/后置腳本、Cookie/Session 全局共享 等功能,Apifox 都有,并且比 Postman 更高效好用。接口運行完之后點擊保存為用例按鈕,即可生成接口用例,后續可直接運行接口用例,無需再輸入參數,非常方便。自定義腳本 100% 兼容 Postman 語法,并且支持運行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各種語言代碼。
接口用例:通常一個接口會有多種情況用例,比如參數正確用例、參數錯誤用例、數據為空用例、不同數據狀態用例等等。運行接口用例時會自動校驗數據正確性,用接口用例來調試接口非常高效。
接口數據 Mock:內置 Mock.js 規則引擎,非常方便 mock 出各種數據,并且可以在定義數據結構的同時寫好 mock 規則。支持添加“期望”,根據請求參數返回不同 mock 數據。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的數據,具體在本文后面介紹。
數據庫操作:支持讀取數據庫數據,作為接口請求參數使用。支持讀取數據庫數據,用來校驗(斷言)接口請求是否成功。
接口自動化測試:提供接口集合測試,可以通過選擇接口(或接口用例)快速創建測試集。目前接口自動化測試更多功能還在開發中,敬請期待!目標是: JMeter 有的功能基本都會有,并且要更好用。
快捷調試:類似 Postman 的接口調試方式,主要用途為臨時調試一些無需文檔化的接口,無需提前定義接口即可快速調試。
代碼生成:根據接口及數據數據模型定義,系統自動生成接口請求代碼、前端業務代碼及后端業務代碼。
團隊協作:Apifox 天生就是為團隊協作而生的,接口云端實時同步更新,成熟的團隊/項目/成員權限管理,滿足各類企業的需求。
#1. Apifox 是否收費?
Apifox 公網版 (SaaS版) 免費,私有化部署版收費。
#2. 登錄(Auth)態如何實現?
請參考文檔:登錄態(Auth)如何處理
#3. 接口發送請求前需要調用登錄接口獲取 token 放在 header,如何實現?
請參考文檔:登錄態(Auth)如何處理
#4. B 接口請求參數依賴于 A 接口返回的數據,如何實現?
請參考文檔:接口之間如何傳遞數據
#5. 同項目下有不同域名的接口,如何處理?
方案一:在環境里新增多個服務,分別設置不同的前置 URL ,接口分組和接口維度可以指定對應的前置 URL。推薦本方案!
方案二:把域名設置成環境變量如DOMAIN_1,接口路徑這樣填寫:https:///users。接口路徑是以http://或https://起始的,系統會自動忽略里環境里前置 URL。
方案三:給不同域名接口設置不同環境,通過切換環境來運行不同域名下的接口。不推薦本方案!
#6. 腳本如何讀取或修改接口請求信息?
請參考文檔: 腳本讀取/修改接口請求信息
#7. 是否支持查詢數據庫字段作為參數傳給接口?
支持,請參考文檔:數據庫操作
#8. 數據是存儲在本地還是云端?可否離線使用?可否私有化部署?
目前 Apifox 有 Saas 版 和私有化部署版 。
Saas 版 是免費的,數據都是存在云端的,需要聯網才能使用。
私有化部署版 是收費的,數據存在使用者企業內部,不連外網也可以使用。
注意
環境變量/全局變量里的 本地值 僅存放在本地,不會同步到云端,團隊成員之間也不會相互同步,適合存放token、賬號、密碼之類的敏感數據。
#9. 使用 Postman 調用接口返回正常,而 Apifox 返回錯誤
解決方法:對比 postman 和 apifox 實際發出的請求內容(url、參數、body、header)是否完全一樣。
查看實際請求內容方法:
Apifox:返回內容下的實際請求 tab (老版本為Request tab) 里查看
Postman:點擊底部狀態欄里的Console查看
#10. 為什么修改了環境變量(或全局變量)值,而引用的地方沒有生效?
請檢查環境變量、全局變量、臨時變量里是不是有多個地方定義了相同名稱的變量,如果有,系統會根據優先級來取值。優先級順序如下:臨時變量>環境變量>全局變量。
請檢查修改的是否是本地值,環境變量(或全局變量)僅讀取本地值,而不會讀取遠程值。
維護不同工具之間數據一致性非常困難、非常低效。并且這里不僅僅是工作量的問題,更大的問題是多個系統之間數據不一致,導致協作低效,頻繁出問題,開發人員痛苦不堪。
開發人員在 Swagger 定義好文檔后,接口調試的時候還需要去 Postman 再定義一遍。
前端開發 Mock 數據的時候又要去 RAP 定義一遍,手動設置好 Mock 規則。
測試人員需要去 JMeter 定義一遍。
前端根據 RAP Mock 出來的數據開發完,后端根據 Swagger 定義的接口文檔開發完,各自測試測試通過了,本以為可以馬上上線,結果一對接發現各種問題:原來開發過程中接口變更,只修改了 Swagger,但是沒有及時同步修改 RAP。
同樣,測試在 JMeter 寫好的測試用例,真正運行的時候也會發現各種不一致。
時間久了,各種不一致會越來越嚴重。
大小:166.00M / 版本:v1.4.21 64&32位官方免費版
大?。?3.35M / 版本:v1.4.21 64&32位官方免費版
大?。?8.17M / 版本:v1.4.21 64&32位官方免費版
大?。?.84M / 版本:v1.4.21 64&32位官方免費版
大小:34.58M / 版本:v1.4.21 64&32位官方免費版
大?。?.03M / 版本:v1.4.21 64&32位官方免費版
大?。?91.00M / 版本:v1.4.21 64&32位官方免費版
大?。?0.40M / 版本:v1.4.21 64&32位官方免費版
大?。?6.56M / 版本:v1.4.21 64&32位官方免費版
大?。?27.69M / 版本:v1.4.21 64&32位官方免費版
大小:166.78M / 版本:v1.4.21 64&32位官方免費版
大?。?.48M / 版本:v1.4.21 64&32位官方免費版