給力!新一代mock神器,零配置生成高模擬mock資料

語言: CN / TW / HK

作為軟體開發從業者,API 除錯是必不可少的一項技能,在這方面 Postman 做的非常出色。但是在整個軟體開發過程中,API 除錯只是其中的一部分,還有很多事情 Postman 無法完成,或者 無法高效完成 ,比如:API 文件定義、API Mock、API 自動化測試等等。Apifox 就是為了解決這個問題而生的。

介面管理現狀

一、常用解決方案

  1. 使用 Swagger 管理 API 文件

  2. 使用 Postman 除錯 API

  3. 使用 MockJs 等工具 Mock API 資料

  4. 使用 JMeter 做 API 自動化測試

二、存在的問題

維護不同工具之間資料一致性非常困難、低效。並且這裡不僅僅是工作量的問題,更大的問題是多個系統之間資料不一致,導致協作低效、頻繁出問題,開發測試人員痛苦不堪。

  1. 開發人員在 Swagger 定義好文件後,介面除錯的時候還需要去 Postman 再定義一遍。

  2. 前端開發 Mock 資料的時候又要去 MockJs 定義一遍,還需要手動設定 Mock 規則。

  3. 測試人員需要去 JMeter 再定義一遍。

  4. 前端根據 MockJs Mock 出來的資料開發完,後端根據 Swagger 定義的介面文件開發完,各自都試測試通過了,本以為可以馬上上線,結果一對接發現各種問題:

  • 開發過程中介面變更了,只修改了 Swagger,但是沒有及時同步修改 MockJs。

  • 後端開發的介面資料型別和文件不一致,肉眼難以發現問題。

  • 同樣,測試在 JMeter 寫好的測試用例,真正執行的時候也會發現各種不一致。

  • 時間久了,各種不一致會越來越嚴重。

  • Apifox 解決方案

    一、如何解決這些問題

    1、Apifox 定位

    Apifox = Postman + Swagger + Mock + JMeter


    Apifox 是 API 文件、API 除錯、API Mock、API 自動化測試一體化協作平臺。

    通過一套系統、一份資料,解決多個系統之間的資料同步問題。只要定義好介面文件,介面除錯、資料 Mock、介面測試就可以直接使用,無需再次定義;介面文件和介面開發除錯使用同一個工具,介面除錯完成後即可保證和介面文件定義完全一致。高效、及時、準確!

    2、Apifox 宗旨

    節省研發團隊的每一分鐘!

    3、Apifox 功能

    1. 介面設計 :Apifox 介面文件遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 規範的同時,提供了非常好用的 視覺化 文件管理功能,零學習成本,非常高效。並且支援線上分享介面文件。
    2. 資料模型 :可複用的資料結構,定義介面 返回資料結構 請求引數資料結構 (僅 JSON 和 XML 模式)時可直接引用。支援模型直接巢狀引用,直接 JSON/XML 智慧匯入,支援 oneOf、allOf 等高階組合模式。
    3. 介面除錯 :Postman 有的功能,比如環境變數、前置/後置指令碼、Cookie/Session 全域性共享 等功能,Apifox 都有,並且比 Postman 更高效好用。介面執行完之後點選 儲存為用例 按鈕,即可生成 介面用例 ,後續可直接執行介面用例,無需再輸入引數,非常方便。自定義指令碼 100% 相容 Postman 語法,並且支援執行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各種語言程式碼。
    4. 介面用例 :通常一個介面會有多種情況用例,比如 引數正確 用例、 引數錯誤 用例、 資料為空 用例、 不同資料狀態 用例等等。執行介面用例時會自動校驗資料正確性,用介面用例來除錯介面非常高效。
    5. 介面資料 Mock :內建 Mock.js 規則引擎,非常方便 mock 出各種資料,並且可以在定義資料結構的同時寫好 mock 規則。支援新增“期望”,根據請求引數返回不同 mock 資料。最重要的是 Apifox 零配置  即可 Mock 出非常人性化的資料,具體在本文後面介紹。
    6. 資料庫操作 :支援讀取資料庫資料,作為介面請求引數使用。支援讀取資料庫資料,用來校驗(斷言)介面請求是否成功。

    7. 介面自動化測試 :提供介面集合測試,可以通過選擇介面(或介面用例)快速建立測試集。目前介面自動化測試更多功能還在開發中,敬請期待!目標是:JMeter 有的功能基本都會有,並且要更好用。

    8. 快捷除錯 :類似 Postman 的介面除錯方式,主要用途為臨時除錯一些 無需文件化 的介面,無需提前定義介面即可快速除錯。
    9. 程式碼生成 :根據介面及資料資料模型定義,系統自動生成 介面請求程式碼 前端業務程式碼 後端業務程式碼
    10. 團隊協作 :Apifox 天生就是為團隊協作而生的,介面雲端實時同步更新,成熟的 團隊/專案/成員許可權 管理,滿足各類企業的需求。

    二、Apifox 做的不僅僅是資料打通

    如果你認為 Apifox 只做了資料打通,來提升研發團隊的效率,那就錯了。Apifox 還做了非常多的創新,來提升開發人員的效率。

    1、介面支援“用例管理”

    通常一個介面會有多種情況用例,比如  正確用例   引數錯誤用例   資料為空用例   不同資料狀態用例 。定義介面的時候定義好這些不同狀態的用例,介面除錯的時候直接執行,非常高效。

    2、“資料模型”定義、引用

    可以獨立定義資料模型,介面定義時可以直接引用資料模型,資料模型之間也可以相互引用。同樣的資料結構,只需要定義一次即可多處使用;修改的時候只需要修改一處,多處實時更新,避免不一致。

    3、除錯時“自動校驗”資料結構

    使用 Apifox 除錯介面的時候,系統會根據介面文件裡的定義,自動校驗返回的資料結構是否正確,無需通過肉眼識別,也無需手動寫斷言指令碼檢測,非常高效!

    4、“視覺化”設定斷言

    設定斷言:

    執行後,檢視斷言結果:

    5、“視覺化”設定提取變數

    6、支援資料庫操作

    7、“零配置”Mock 出非常人性化的資料

    先放一張圖對比下 Apifox 和其他同類工具  零配置  mock 出來的資料效果:

    可以看出 Apifox  零配置  Mock 出來的資料和真實情況是非常接近的,前端開發可以直接使用,而無需再手動寫 mock 規則。

    Apifox 如何做到 高效率零配置 生成非常人性化的 mock 資料

    1. Apifox 根據介面定義裡的資料結構、資料型別,自動生成 mock 規則。

    2. Apifox 內建智慧 mock 規則庫,根據欄位名、欄位資料型別,智慧優化自動生成的 mock 規則。如:名稱包含字串 image string 型別欄位,自動 mock 出一個圖片地址 URL;包含字串 time string 型別欄位,自動 mock 出一個時間字串;包含字串 city string 型別欄位,自動 mock 出一個城市名。
    3. Apifox 根據內建規則,可自動識別出圖片、頭像、使用者名稱、手機號、網址、日期、時間、時間戳、郵箱、省份、城市、地址、IP 等欄位,從而 Mock 出非常人性化的資料。

    4. 除了內建 mock 規則,使用者還可以自定義規則庫,滿足各種個性化需求。支援使用  正則表示式 萬用字元  來匹配欄位名自定義 mock 規則。

    8、生成線上介面文件

    Apifox 專案可“線上分享” API 文件,分享出去的 API 文件可設定為公開或需要密碼訪問,非常方便與外部團隊協作。

    體驗地址:https://www.apifox.cn/apidoc/shared-ce387612-cfdb-478a-b604-b96d1dbc511b/http/5041285

    9、程式碼自動生成

    根據介面模型定義,自動生成各種語言/框架(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的業務程式碼(如 Model、Controller、單元測試程式碼等)和介面請求程式碼。目前 Apifox 支援 130 種語言及框架的程式碼自動生成。

    更重要的是:你可以通過 自定義程式碼模板 來生成符合自己團隊的架構規範的程式碼,滿足各種個性化的需求。

    10、匯入、匯出

    1. 支援匯出  OpenApi (Swagger) Markdown Html  等資料格式,因為可以匯出 OpenApi 格式資料,所以你可以利用 OpenApi (Swagger) 豐富的生態工具完成各種介面相關的事情。
    2. 支援匯入  OpenApi (Swagger) Postman apiDoc HAR RAML RAP2 YApi Eolinker NEI DOClever ApiPost  、 Apizza  、 ShowDoc API Blueprint I/O Docs WADL Google Discovery 等資料格式,方便舊專案遷移。
    3. 支援 定時自動 匯入 OpenApi (Swagger) apiDoc Apifox 格式資料。

    三、後續功能規劃

    1. 釋出 Apifox WEB 版,支援在瀏覽器端使用 Apifox。

    2. 介面效能測試支援(類似 JMeter)。

    3. 支援外掛市場,可以自己開發外掛。

    4. 開放 Apifox API,允許開發者通過 API 呼叫 Apifox 的功能。

    5. 支援更多介面協議,如 GraphQL gRPC websocket 等。
    6. 支援離線使用,專案可選擇線上同步(團隊協作)還是僅本地儲存(單機離線使用)。

    四、更多 Apifox 功能截圖

    介面設計

    介面除錯

    自定義mock規則

    智慧mock

    介面自動化測試

    匯入Api文件

    匯出Api文件

    Apifox 多種主題色可選

    五、 Apifox 交流群

    掃二維碼進微信群,各種使用過程中的疑問,官方工作人員貼心為你解答: 

    六、 Apifox 下載地址

    介紹了Apifox這麼多實用的功能,用上了才是真福利!軟體完全 免費 ,堪稱國產良心,有興趣有需求的小夥伴,完全可以直接複製下面的連結, 貼上到瀏覽器開啟 即可下載。

    官網地址:

    https://www.apifox.cn/?utm_source=qdQ

    或者點選 閱讀原文 直達!