天天看點

接口測試利器Apifox,憑什麼成為新晉高富帥?

作者:CoCo的軟體測試小棧
接口測試利器Apifox,憑什麼成為新晉高富帥?
接口測試利器Apifox,憑什麼成為新晉高富帥?

點選上方頭像關注我,每周上午 09:00準時推送,每月不定期贈送技術書籍。

本文4231字,閱讀約需11分鐘

Hi,大家好。API 調試是必不可少的一項技能,在這方面 Postman 做的非常出色。但是API 調試隻是其中的一部分,還有很多事情 Postman 無法完成,或者無法高效完成,比如:API 文檔定義、API Mock、API 自動化測試等等,Apifox就是為了解決這個問題而生,今天給大夥介紹一下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;後端開發的接口資料類型和文檔不一緻,肉眼難以發現問題。

5.同樣,測試在 JMeter 寫好的測試用例,真正運作的時候也會發現各種不一緻。

Apifox應勢而生

Apifox介紹

(1) Apifox定位

Apifox = Postman + Swagger + Mock + JMeter,Apifox 是 API 文檔、API 調試、API Mock、API 自動化測試一體化協作平台。通過一套系統、一份資料,解決多個系統之間的資料同步問題。隻要定義好接口文檔,接口調試、資料 Mock、接口測試就可以直接使用,無需再次定義;接口文檔和接口開發調試使用同一個工具,接口調試完成後即可保證和接口文檔定義完全一緻。

(2) Apifox基本功能

1.接口設計:Apifox 接口文檔遵循 OpenApi3.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等各種語言代碼。

4.接口用例:通常一個接口會有多種情況用例,比如參數正确用例、參數錯誤用例、資料為空用例、不同資料狀态用例等等。運作接口用例時會自動校驗資料正确性,用接口用例來調試接口非常高效。

5.接口資料 Mock:内置 Mock.js規則引擎,非常友善 mock 出各種資料,并且可以在定義資料結構的同時寫好 mock 規則。支援添加“期望”,根據請求參數傳回不同 mock 資料。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的資料,具體在本文後面介紹。

6.資料庫操作:支援讀取資料庫資料,作為接口請求參數使用。支援讀取資料庫資料,用來校驗(斷言)接口請求是否成功。

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

8.快捷調試:類似 Postman 的接口調試方式,主要用途為臨時調試一些無需文檔化的接口,無需提前定義接口即可快速調試。

9.代碼生成:根據接口及資料資料模型定義,系統自動生成接口請求代碼、前端業務代碼及後端業務代碼。

10.團隊協作:Apifox 天生就是為團隊協作而生的,接口雲端實時同步更新,成熟的團隊/項目/成員權限管理,滿足各類企業的需求。

接口測試利器Apifox,憑什麼成為新晉高富帥?

(3) Apifox更多功能

如果你認為 Apifox 隻做了資料打通,來提升研發團隊的效率。除此之外,Apifox 還做了非常多的創新,來提升工作效率。

1、接口支援“用例管理”

通常一個接口會有多種情況用例,比如 正确用例 參數錯誤用例 資料為空用例 不同資料狀态用例。定義接口的時候定義好這些不同狀态的用例,接口調試的時候直接運作,非常高效。

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

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

3、調試時“自動校驗”資料結構

使用 Apifox 調試接口的時候,系統會根據接口文檔裡的定義,自動校驗傳回的資料結構是否正确,無需通過肉眼識别,也無需手動寫斷言腳本檢測,非常高效!

接口測試利器Apifox,憑什麼成為新晉高富帥?

Apifox 自動校驗資料結構

4、“可視化”設定斷言

設定斷言:

接口測試利器Apifox,憑什麼成為新晉高富帥?

Apifox 設定斷言

運作後,檢視斷言結果:

接口測試利器Apifox,憑什麼成為新晉高富帥?

5、“可視化”設定提取變量

接口測試利器Apifox,憑什麼成為新晉高富帥?

6、支援資料庫操作

接口測試利器Apifox,憑什麼成為新晉高富帥?

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

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

接口測試利器Apifox,憑什麼成為新晉高富帥?

Apifox Mock 資料結果對比同類工具

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

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

  • Apifox 根據接口定義裡的資料結構、資料類型,自動生成 mock 規則。
  • Apifox 内置智能 mock 規則庫,根據字段名、字段資料類型,智能優化自動生成的 mock 規則。如:名稱包含字元串image的string類型字段,自動 mock 出一個圖檔位址 URL;包含字元串time的string類型字段,自動 mock 出一個時間字元串;包含字元串city的string類型字段,自動 mock 出一個城市名。
  • Apifox 根據内置規則,可自動識别出圖檔、頭像、使用者名、手機号、網址、日期、時間、時間戳、郵箱、省份、城市、位址、IP 等字段,進而 Mock 出非常人性化的資料。
  • 除了内置 mock 規則,使用者還可以自定義規則庫,滿足各種個性化需求。支援使用正規表達式、通配符來比對字段名自定義 mock 規則。

8、生成線上接口文檔

Apifox 項目可“線上分享” API 文檔,分享出去的 API 文檔可設定為公開或需要密碼通路,非常友善與外部團隊協作。

體驗位址:https://www.apifox.cn/apidoc/shared-8304af11-c8dc-4419-9530-555ca8eb843a/api-10693596

接口測試利器Apifox,憑什麼成為新晉高富帥?

9、代碼自動生成

根據接口模型定義,自動生成各種語言/架構(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的業務代碼(如 Model、Controller、單元測試代碼等)和接口請求代碼。目前 Apifox 支援 130 種語言及架構的代碼自動生成。更重要的是,你可以通過自定義代碼模闆來生成符合自己團隊的架構規範的代碼,滿足各種個性化的需求。

10、導入、導出

支援導出OpenApi (Swagger)、Markdown、Html等資料格式,因為可以導出OpenApi格式資料,是以你可以利用 OpenApi (Swagger) 豐富的生态工具完成各種接口相關的事情。支援導入OpenApi (Swagger)、Postman、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost、Apizza、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discovery等資料格式,友善舊項目遷移。

小結

整體來說,Apifox能成為新晉高富帥,不僅僅是顔值高,功能強大,而且為接口開發、調試、測試提供了一種效率更佳的的解決方案,按照Apifox開發團隊後續規劃,後續會重加增加接口性能測試能力支援(類似JMeter)、支援離線團隊多人協作等特性。

更多實用功能,夥伴們可自行探索,下一篇文章将正式了解Apifox這位高富帥,敬請關注。如果覺得有用,點個好看或朋友圈轉發、分享。

更多系列文章

敬請期待

我是CoCo,計算機科學與技術專業,深漂大廠網際網路民工(女),坐标深圳。5年工作經驗,3年持續輸出技術文。ITester軟體測試小棧(ID:ITestingA)号主,Boss直聘好文社群簽約作者,騰訊雲社群優質創作者。專注于軟體測試技術和寶藏幹貨分享,每周準時更新原創技術文章,每月不定期贈送技術書籍,願我們在更高處相逢。喜歡記得星标⭐我,每周及時獲得最新推送,第三方轉載請注明出處。

接口測試利器Apifox,憑什麼成為新晉高富帥?
接口測試利器Apifox,憑什麼成為新晉高富帥?

想擷取更多最新幹貨内容

快來星标 置頂 關注我

真愛四連,BiuBiuBiu~