介面平臺實用功能設計分享——資料庫校驗

面对疾风吧發表於2020-12-18

背景

  • 繼上次二次開發社群介面平臺過去幾個月了,實用的過程中也發現了有些場景和功能無法滿足,上週趁著專案空閒著手將自己的一些想法一一實現,體驗了一週,絲滑般的順暢,話不多說。將設計思路給大家看下共勉!

功能如下所示

  • 在我們手動介面測試時,往往需要去和資料庫做校驗,才能夠更確保介面的正確性,那麼如何來設計這個功能呢,我也翻遍了社群開源的介面平臺,暫時沒找到一個可以借鑑的。寂靜思慮規劃後,我就開始著手去做了,下面給大家看下功能。
  • 首先設計了資料庫資訊頁面,因為我們校驗的 sql 可能需要選擇不同的資料庫,所以不能夠寫死在程式碼裡,這裡也加上了人性化的設計,可以點選 ‘測試’ 按鈕,檢視是否連線成功
  • SQL 管理頁面,考慮到我們做資料庫校驗時,有些介面可以公用到一個 sql,同時也為了管理 sql 方便,我單獨設計了一個頁面,新建 sql 時,需要指定連線的哪個庫,這裡需要關聯資料庫資訊表。另外也加入了 ‘測試’ 按鈕,讓我們知道查詢 sql 後的結果
  • 公共引數,故名意思,就是這裡的值每個用例的介面都可以實用,在此我設計了四種型別,
    • Python 型別,就是可以為 python 程式碼,常見的應用場景新增時名稱不要重複,那麼就可以生成個隨機數,會將執行該程式碼後的結果賦值給實際值進行儲存。
    • 關聯型別,該型別可以關聯任何介面的返回值,並透過 jsonpath 的方式取數。
    • SQL 型別,可以獲取到關聯 sql 查詢的值作為實際值 。
    • 自增型別,有時候覺得隨機數生成的沒有規律,那麼就可以用自增型別,每用一次自動 +1
  • 說到這裡我們公共引數和 SQL 到底如何用呢,且看下面
    • 加入了關聯校驗,響應值就是介面的返回值,資料來源實際上為三種:變數(引用了公共引數)、jsonpath(以 jsonpath 的方式去返回值裡取數)、字串
    • 校驗資料來源,實際也是三種:SQL,選擇關聯的 SQL,校驗值為 SQL 的欄位、變數(引用公共引數)、字串
    • 公共引數規則:目前 ${} 括號裡面的我會認為是公共引數,以名稱去參數列表查詢,並取到對應的值,取不到賦值為不存在等資訊反饋給使用者
    • 公共引數可以用在 URL、請求體、SQL 語句、關聯校驗等多種場景
  • 從結果報告裡我們也可以看到響應和校驗的實際值,來作為用例是否正確的憑據
  • 也加入了易用的小功能,當返回值 json 串太長,不方便複製。於是加入了一件複製按鈕

  • 因為有些用例場景需要不同的 host 或者不同的賬號來完成,所以加入了可以選擇是否預設 host 的功能,雖然工作量小,但是有了它又滿足了更多的使用場景了

後續計劃

  • 測試平臺的功能暫時覺得完成的差不多了,最近也一直著手看效能調優分析,深感自己對這一塊太薄弱了,狂啃了兩本書
  • 在此求推薦相關效能測試書籍,有其他疑問也可以加我微信 liuxiaolu4986
  • 這個設計我覺得目前比較喜歡,大家有不同的設計也可以互相交流學習哦

相關文章