OkHttp3+mysql+jenkin 現介面自動化

jc發表於2020-11-16

說明:
實現在版本快速迭代過程中對系統介面的監控。只貼了部分關鍵程式碼

指令碼實現:

  1. 資料驅動,針對目前公司系統,無需對測試指令碼進行修改即可實現介面的巡檢。
  2. 考慮到系統支援http型別,暫只支援get和post
  3. 使用資料庫mysql的形式進行用例編寫和管理

指令碼設計思路:

  1. case資料準備:資料庫維護case資料,包括url,method,data,header
  2. 引數處理: a)通用引數準備,random,tm,reqId,stamp,用$$字首作為標記 b)全域性引數map準備,用於儲存每次系統版本迭代的資料,以及每次請求過程中從響應資訊中提取出來的引數用於下一個介面的傳參,用##字首作為標記   3.http請求資料組裝,其中這裡header需要簽名處理,data中需要引數替換   4.jsonPath實現斷言判斷以及response引數提取,把結果回寫資料庫和回寫全域性map   5.最後產出測試報告以及使用jenkins持續整合管理

具體實現說明(部分程式碼展示):

  1. case資料準備

a)資料庫case準備

介面描述,url,uri,method,header,data,全域性變數提取,斷言判斷,響應內容儲存,測試分組,測試結果

b)測試分組及範圍

在程式碼中,通過sql指定測試範圍,且後續新增測試範圍和調整時,只需要修改mysql中的資料即可,無需在指令碼中編輯。最後返回List形式,需要對這塊進行分隔處理,存到一個bean裡面

  2.引數處理
a)通用引數準備
b)版本初始化準備資料
包括系統資訊,使用者資訊,手機裝置資訊,外掛資訊,存到資料庫的dict表裡面,提取出來存到map裡面


  
3.http請求資料組裝

主入口啟動

a)請求組裝

其中header和data的處理,需要去迴圈全域性變數map和公共引數替換
 


  
4.jsonPath實現斷言判斷和提取全域性變數
 

 5.使用jenkins持續整合管理
 

相關文章