YTWapi 介面平臺之路
YTWapi介面平臺概述
1. 前言
自從使用python+requests實現了簡單的介面自動化測試之後,又誕生了把它實現成一個介面平臺的想法,於是開始了漫長的自我折騰之路,從設計到開發,以及相關知識儲備,算下來也差不多半年時間了。
拿來主義終究只是解決一時問題,不遺餘力造屬於自己的輪子,才能對輪子理解更深。因此才有了這個粗糙的輪子的出現。
2. 技術棧
-
前端
Vue、element-ui、axios
-
後端
python、django、django rest framework、celery
-
資料庫
mysql、redis
3. 實現功能概述
這是一個介面自動化平臺,支援專案管理、介面管理、用例管理、執行管理,以及任務管理執行結果檢視等功能。
- 專案支援多套不同環境;
- 同一個介面支援通過不同的配置,滿足不同的業務場景或測試場景;
- 支援使用函式生成值,對介面欄位賦值,如:各種格式的日期時間、隨機數字或字串;
- 支援單介面用例、多介面業務流程的用例,多介面用例體現在測試用例的多個測試步驟上,介面之間支援關聯傳值;
- 支援將不同測試用例配置為測試集,如:按專案、按模組、按基本功能等劃分不同測試集;
- 支援配置執行任務,一個測試集對應一套環境,多套環境配置多個任務;
- 支援多個任務同時執行,互不影響;
- 支援對任務結果、任務對應的測試用例執行結果、以及測試用例詳情(介面請求響應、失敗原因等)進行檢視。
4. 詳細功能介紹
- 專案管理
專案管理分為專案配置、環境配置2個部分。
專案配置是對專案名稱、描述,以及專案模組進行配置,支援專案的增刪改查操作。
環境配置是對專案的環境名稱、地址等資訊進行配置,一個專案支援配置多套環境,支援環境的增刪改查操作。
- 介面管理
介面管理分為介面配置、介面例項、業務流程3個部分。
介面配置是管理所有介面的地方,需要配置介面的相關資訊。
介面例項,亦可稱為介面加工廠,主要實現對介面某些特殊欄位值進行賦值、關聯其他介面欄位值的設定及抽取、介面響應結果欄位值斷言設定。測試用例步驟關聯的是介面例項,配置介面後會自動生成一個預設的例項。一個介面支援配置多個例項。
介面例項配置(太長未展開)
業務流程,非關鍵環節,可用於理清不同業務流程,以及測試用例中引用以達到快速編寫用例的目的,此模組未實現完全。
- 用例管理
用例管理是編寫測試用例的地方,支援對測試用例的增刪改查;測試用例支援配置多個步驟,每個步驟需要選擇介面例項,介面例項選擇後,會自動帶出介面例項配置的資訊,此外還需配置請求頭、請求體資料,也可以補充斷言資訊。
- 執行管理
執行管理包含測試集、執行設定2個部分。
測試集,即一組測試用例,可以根據實際情況劃分不同的測試集,如:專案所有用例測試集、基本功能用例測試集等。
執行設定,即設定測試執行任務,對測試集配置具體的執行環境,然後點選“執行”按鈕啟動任務。任務結果可在任務管理中檢視,同一個配置的任務為防止重複執行,限制同一個配置的任務同時只能有一個在執行。
- 任務管理
任務管理,支援對任務結果進行檢視,任務狀態有3種:未開始或進行中、成功、失敗;任務執行完成後,可以對任務結果進行檢視,支援檢視任務總體用例通過情況、執行耗時,以及每個用例每個步驟的詳細情況,如果某個步驟執行失敗,會顯示出失敗的原因。
執行結果檢視
測試步驟詳情
5. 結束語
知易行難,真正的一步一步去做方知不容易。一個看似簡單的功能,簡單的bug,限於個人能力,可能就要花費無數心思和時間。
這個平臺還有很多功能尚未完善,很多想法沒有去落實,目前整體功能從前到後也算是完成了一個閉環,暫時先告一段落了。最近一段時間應該沒有什麼精力去完成了。
相關文章
- 介面管理平臺YApiAPI
- 開放平臺API介面API
- 跨平臺渲染引擎之路:bgfx分析
- 廣告引擎平臺化演進之路
- Ubuntu 搭建 Yapi 介面文件平臺UbuntuAPI
- 平臺介面建設規範
- 微信公眾平臺介面APIAPI
- 北京資訊平臺介面文件更新
- 滴滴機器學習平臺架構演進之路機器學習架構
- 測試平臺之介面測試
- 好用的API介面平臺推薦API
- 電商平臺資料採集介面
- 開源 RESTful API 介面管理平臺RESTAPI
- 跨平臺渲染引擎之路:框架與核心模組框架
- 跨平臺渲染引擎之路:撥雲見日
- TapTap演算法平臺的 Serverless 探索之路APT演算法Server
- .NET6 平臺系列4 .NET開源之路
- 蜻蜓低程式碼安全工具平臺開發之路
- Django 介面自動化測試平臺Django
- “淘寶” 開放平臺介面設計思路
- 微信公眾平臺通用介面API指南API
- YApi視覺化介面管理平臺部署API視覺化
- 介面文件解決方案!企業級的介面文件管理平臺!
- Flutter:移動端跨平臺技術演進之路Flutter
- 獨家解讀 | 滴滴機器學習平臺架構演進之路機器學習架構
- 京東資料庫智慧運維平臺建設之路資料庫運維
- 愛奇藝平臺的架構設計與演進之路架構
- 新浪微博平臺自動化運維演進之路運維
- LinkAI RAG知識庫平臺最佳化之路AI
- 新入金通道USDT支付介面平臺搭建
- 介面測試平臺,歡迎大家體驗
- API管理平臺,全面管理系統API介面API
- 搭建直播平臺,情景模式介面設計模式
- 使用wxdindows開發跨平臺的介面(轉)
- 介面測試平臺-90: 全域性請求頭之 多介面-介面庫選擇
- 使用DOClever介面管理平臺安裝部署全程實錄過程,基於liunx平臺
- Qt學習之路(59): 編寫跨平臺的程式薦QT
- 基於 Django 的 Dubbo 介面測試工具平臺Django