python+unittest接口自動化測試框架整理~~~整體框架


經過一段時間的使用,決定重新整理接口測試框架,整體結構如下:

           

common下文件最多,分別為:case_template 測試用例模版、handle_config 配置、handle_data 數據替換、handle_db 數據庫操作、handle_del 文件刪除、handle_excel表格讀寫、handle_logger 日志、request_http http請求、request_webservice webservice請求、send_email 郵件發送等模塊。

conf 下存放 test.conf 配置文件、constant_path 路徑文件;

libs 下存放外部引入的模塊,例如: ddt 、HTMLTestRunnerNew;

logs 下存放日志文件,如api_test_2020011418.log;

testdatas下存放測試數據,如 wsf.xlsx,表格中分sheet存放不同類別接口測試用例數據;

testcases下存放一個test_apicases.py;

testreports下存放html測試報告,如API_TestReport.html

 

基礎執行步驟:

1. 運行handle_excel: 從測試數據wsf.xlsx中逐行讀取測試數據,並處理為[ {'case_id': 1, 'moudle': 'caccount', 'title': '游客token', 'method': 'get', 'url': '/caccount/token', 'param': '{}', 'expect': "{'success': True}", 'actual': "", 'result': ''"},{}....] 這種格式;

2. 運行handle_data: 通過正則匹配,替換url中的路徑參數如/caccount/info?token={token},以及param中的關聯參數--setup中添加到類屬性,執行用例前獲取后進行替換;

3. 運行request_http:發送請求,將請求結果中的實際值與期望值使用assert斷言對比,如果還需核對數據庫數據,運行handle_db,assert 請求前后數據庫數據的變化是否與預期一致;

4. 將返回的請求結果寫回excel中;

 

改進點:

1. 由於不同類別接口測試用例代碼重復度較高,因此提取出共同的部分,作為case_template,然后在test_apicases中繼承測試用例模板;

2. 將BeautifulReport整個文件夾放入site-packages目錄下,使用BeautifulReport,優化了接口測試報告模版。此處針對網上的BeautifulReport源碼修改了一下,使測試報告路徑與日志路徑分開;

3. 對run.py 封裝為類,可根據傳的參數不同 運行不同類別的接口集,打算后期配合 jenkins參數化構建使用;

4. 新增handle_del,控制日志和報告目錄下文件不得超出10個,超過時自動刪除最早的;

 

測試報告效果圖:

  

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM