OkHttp3+mysql+jenkin 現介面自動化
說明:
實現在版本快速迭代過程中對系統介面的監控。只貼了部分關鍵程式碼
指令碼實現:
- 資料驅動,針對目前公司系統,無需對測試指令碼進行修改即可實現介面的巡檢。
- 考慮到系統支援 http 型別,暫只支援 get 和 post
- 使用資料庫 mysql 的形式進行用例編寫和管理
指令碼設計思路:
- case 資料準備:資料庫維護 case 資料,包括 url,method,data,header
- 引數處理: a) 通用引數準備,random,tm,reqId,stamp,用 $$ 字首作為標記 b) 全域性引數 map 準備,用於儲存每次系統版本迭代的資料,以及每次請求過程中從響應資訊中提取出來的引數用於下一個介面的傳參,用 ## 字首作為標記 3.http 請求資料組裝,其中這裡 header 需要簽名處理,data 中需要引數替換 4.jsonPath 實現斷言判斷以及 response 引數提取,把結果回寫資料庫和回寫全域性 map 5.最後產出測試報告以及使用 jenkins 持續整合管理
具體實現說明(部分程式碼展示):
- 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 持續整合管理
相關文章
- 基於RestAssured實現介面自動化REST
- python 介面自動化Python
- 全自動化介面
- Httpclient 介面自動化HTTPclient
- postman實現介面的自動化測試Postman
- 介面自動化與ui自動化區別UI
- 介面自動化測試
- 介面自動化之介面整理(抓包)
- 試著使用 jmeter 實現介面自動化測試JMeter
- Python 介面自動化測試Python
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 基於 Springboot+layui 實現介面自動化平臺Spring BootUI
- Jmeter 介面自動化連載 (15) - beanshell 實現字串加密JMeterBean字串加密
- 介面自動化之實現日誌記錄封裝封裝
- Selenium自動化實現web自動化-1Web
- protobuf 介面自動化測試摸索
- 【pytest 介面自動化】token 問題
- 三.介面自動化專案1
- 介面自動化測試框架 HttpFPT框架HTTP
- 二、介面自動化測試(2)
- 介面自動化(四):框架搭建(Python)框架Python
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- 介面自動化大牛養成記
- 基於 Pytest+Requests+Allure 實現介面自動化測試
- 基於Python+Requests+Pytest+YAML+Allure實現介面自動化PythonYAML
- 「乾貨」介面自動化實踐:高效智慧介面場景自動巡檢方案
- python+pytest介面自動化(16)-介面自動化專案中日誌的使用 (使用loguru模組)Python
- 介面自動化如何處理介面依賴問題
- Python介面自動化——檔案上傳/下載介面Python
- jmeter介面自動化:登入到新增JMeter
- 四.unittest介面自動化框架介紹框架
- 使用 testng 做介面自動化測試
- 介面自動化測試解決方案
- JMeter介面自動化發包與示例JMeter
- 介面自動化報告的問題
- 大家都用什麼做介面自動化
- python 介面自動化 -- 依賴資料Python
- Jmeter+Ant+Jenkins介面自動化框架JMeterJenkins框架