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