天天看點

20分鐘搞定接口管理、開發、測試全流程

作者:千鋒教育

一. Apifox簡介

Apifox 是 API 文檔、API 調試、API Mock、API 自動化測試一體化協作平台。

功能定位 Postman + Swagger + Mock + JMeter。

Apifox主要用于接口管理、開發、測試全流程內建工具,使用閱聽人為整個研發技術團隊,主要使用者為前端開發、後端開發和測試人員。而且公網SaaS版本完全免費。

二. 背景需求

1.概述

目前市面上很多團隊都有前端後端測試三個崗位,當一個團隊在開始開發一個項目前,前端與後端需要提前約定好接口,一般會安排一名開發工程師去編寫一個API文檔,通常會使用Swagger,此時後端會根據API文檔去編寫接口,而調試的時候則需要通過先前的文檔再到Postman裡面重新定義。與此同時,在後端把接口做出來之前,前端如果想要提前開始開發的話,他又需要提前去Mock資料,他又要重新在Mock.js裡寫一遍接口定義。測試則需要按照文檔去Jmeter中去編寫測試用例。而且在開發過程中也常會出現接口變更,此時還要同時改變Swagger、Postman、Mock、Jmeter裡的定義,或者前後端聯調的時候也常常會出現前後端資料類型不同的情況,而測試在最終對接口測試的時候也可能會出現實際傳回值與文檔不一緻。整個開發團隊的協同是以非常低效。

既然整個開發團隊都是圍繞API進行開發,但是現在的開發工作被分散在不同的開發工具上,Apifox的開發人員為解決上述痛點,是以便推出了Apifox

Apifox支援團隊開發,開發團隊可以同時工作,當API定義人員在Apifox上定義接口後,會實時同步給所有的團隊成員。

同時Apifox還提供了更豐富的基于API的開發包

2.解決的問題

  1. 一套系統、一份資料,解決多個系統之間的資料同步問題。
  2. 隻要定義好接口文檔,接口調試、資料 Mock、接口測試即可直接使用,無需再次定義。
  3. 接口文檔和接口開發調試使用同一個工具,接口調試完成後即可保證和接口文檔定義完全一緻。
  4. 高效、及時、準确!

3.最佳實踐

  1. 前端(或後端):在 Apifox 上定好接口文檔初稿。
  2. 前後端:一起評審、完善接口文檔,定好接口用例。
  3. 前端:使用系統根據接口文檔自動生成的 Mock 資料進入開發,無需手寫 mock 規則。
  4. 後端:使用接口用例 調試開發中接口,隻要所有接口用例調試通過,接口就開發完成了。如開發過中接口有變化,調試的時候就自動更新了文檔,零成本的保障了接口維護的及時性。
  5. 後端:每次調試完一個功能就儲存為一個接口用例。
  6. 測試人員:直接使用接口用例測試接口。
  7. 所有接口開發完成後,測試人員(也可以是後端)使用集合測試功能進行多接口內建測試,完整測試整個接口調用流程。
  8. 前後端 都開發完,前端從Mock 資料切換到正式資料,聯調通常都會非常順利,因為前後端雙方都完全遵守了接口定義的規範。

4.功能介紹

  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 天生就是為團隊協作而生的,接口雲端實時同步更新,成熟的團隊/項目/成員權限管理,滿足各類企業的需求。

三. 接口文檔設計

1.接口文檔的設計

  1. 完全可視化
  2. 零學習成本
  3. 遵循 OpenAPI 規範
20分鐘搞定接口管理、開發、測試全流程

2.資料模型

1.完全可視化

2.支援模型之間嵌套引用

3.支援 JSON/XML 智能導入

4.遵循 JSONSchema 規範

5.支援 oneOf、allOf 等進階組合模式

20分鐘搞定接口管理、開發、測試全流程

3.生成接口文檔

可通過分享連結講接口文檔分享給别人

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

4.接口用例/接口調試

1.一個接口多個用例

2.自動跟随接口變更

20分鐘搞定接口管理、開發、測試全流程

Postman 有的功能 Apifox 基本都有

環境變量、全局變量、前置/後置腳本、Cookie/Session 全局共享等…

20分鐘搞定接口管理、開發、測試全流程

5.環境變量/全局參數

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

6.自動校驗接口資料

1.根據資料結構自動校驗

2.完整的 JSONSchema 校驗

20分鐘搞定接口管理、開發、測試全流程

7.前置操作/後置操作

針對單個接口

20分鐘搞定接口管理、開發、測試全流程

針對整個分組

20分鐘搞定接口管理、開發、測試全流程

8.斷言

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

9.提取變量

1.可視化

2.JSONPath 提取

20分鐘搞定接口管理、開發、測試全流程

10.資料庫操作

1.讀取資料庫資料

2.寫入資料庫資料

20分鐘搞定接口管理、開發、測試全流程

11.自定義腳本

1.文法 100% 相容 Postman

2.支援運作其他任何語言代碼

20分鐘搞定接口管理、開發、測試全流程

四. 智能 Mock 資料

1.根據接口定義裡的資料結構、資料類型,自動生成 mock 規則。

2.内置智能 mock 規則庫,根據字段名、字段資料類型,智能優化自動生成的 mock 規則。

3.可自動識别出圖檔、頭像、使用者名、手機号、網址、日期、時間、時間戳、郵箱、省份、城市、位址、IP 等字段,進而 Mock 出非常人性化的資料。

4.支援自定義規則庫,滿足各種個性化需求。支援使用 正規表達式、通配符 來比對字段名自定義 mock 規則。

1.零配置 Mock 接口資料

20分鐘搞定接口管理、開發、測試全流程

2.自定義 Mock 規則

1.支援 Mock.js 文法

2.擴充身份證、國内手機号等常用規則

20分鐘搞定接口管理、開發、測試全流程

3.進階 Mock

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

五. 自動化測試

1.自動化測試

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

測試資料

20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程
20分鐘搞定接口管理、開發、測試全流程

六. 其他特性

•根據接口/模型定義,自動生成各種語言/架構的業務代碼和接口請求代碼。

•支援 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 種語言及架構。

•支援自定義代碼模闆,自動生成符合自己團隊的架構規範的代碼,滿足各種個性化的需求。

1.生成業務代碼

20分鐘搞定接口管理、開發、測試全流程

2.生成接口請求代碼

20分鐘搞定接口管理、開發、測試全流程

3.支援 CI/CD

•支援指令行方式運作接口測試 (Apifox CLI)。

•支援內建 Jenkins 等持續內建工具。

20分鐘搞定接口管理、開發、測試全流程

4.資料導入/導出

•支援導出 OpenAPI (Swagger)、Markdown、Html 等資料格式。

•支援導入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、RAML、DOClever、Apizza、DOCWAY、ShowDoc、I/O Docs、WADL、Google Discovery 等資料格式。

20分鐘搞定接口管理、開發、測試全流程

5.團隊協作

•接口資料雲端同步,實時更新。

•成熟的團隊/項目權限管理,支援管理者、普通成員、隻讀成員等角色設定,滿足各類企業的需求。

繼續閱讀