YTWapi 介面平臺之路

尋找五爺發表於2020-10-13

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,限於個人能力,可能就要花費無數心思和時間。

這個平臺還有很多功能尚未完善,很多想法沒有去落實,目前整體功能從前到後也算是完成了一個閉環,暫時先告一段落了。最近一段時間應該沒有什麼精力去完成了。

相關文章