Python接口自動化測試框架運行原理及流程
本文總結(jié)分享介紹接口測試框架開發(fā),環(huán)境使用python3+selenium3+unittest+ddt+requests測試框架及ddt數(shù)據(jù)驅(qū)動,采用Excel管理測試用例等集成測試數(shù)據(jù)功能,以及使用HTMLTestRunner來生成測試報告,目前有開源的poman、Jmeter等接口測試工具,為什么還要開發(fā)接口測試框架呢?因接口測試工具也有存在幾點不足。
- 測試數(shù)據(jù)不可控制。比如接口返回數(shù)據(jù)不可控,就無法自動斷言接口返回的數(shù)據(jù),不能斷定是接口程序引起,還是測試數(shù)據(jù)變化引起的錯誤,所以需要做一些初始化測試數(shù)據(jù)。接口工具沒有具備初始化測試數(shù)據(jù)功能,無法做到真正的接口測試自動化。
- 無法測試加密接口。實際項目中,多數(shù)接口不是可以隨便調(diào)用,一般情況無法摸擬和生成加密算法。如時間戳和MDB加密算法,一般接口工具無法摸擬。
- 擴展能力不足。開源的接口測試工具無法實現(xiàn)擴展功能。比如,我們想生成不同格式的測試報告,想將測試報告發(fā)送到指定郵箱,又想讓接口測試集成到CI中,做持續(xù)集成定時任務。
測試框架處理流程
測試框架處理過程如下:
- 首先初始化清空數(shù)據(jù)庫表的數(shù)據(jù),向數(shù)據(jù)庫插入測試數(shù)據(jù);
- 調(diào)用被測試系統(tǒng)提供的接口,先數(shù)據(jù)驅(qū)動讀取excel用例一行數(shù)據(jù);
- 發(fā)送請求數(shù)據(jù),根據(jù)傳參數(shù)據(jù),向數(shù)據(jù)庫查詢得到對應的數(shù)據(jù);
- 將查詢的結(jié)果組裝成JSON格式的數(shù)據(jù),同時根據(jù)返回的數(shù)據(jù)值與Excel的值對比判斷,并寫入結(jié)果至指定Excel測試用例表格;
- 通過單元測試框架斷言接口返回的數(shù)據(jù),并生成測試報告,最后把生成最新的測試報告HTML文件發(fā)送指定的郵箱。
測試框架結(jié)構(gòu)目錄介紹
目錄結(jié)構(gòu)介紹如下:
- config/: 文件路徑配置
- database/: 測試用例模板文件及數(shù)據(jù)庫和發(fā)送郵箱配置文件
- db_fixture/: 初始化接口測試數(shù)據(jù)
- lib/: 程序核心模塊。包含有excel解析讀寫、發(fā)送郵箱、發(fā)送請求、生成最新測試報告文件
- package/: 存放第三方庫包。如HTMLTestRunner,用于生成HTML格式測試報告
- report/: 生成接口自動化測試報告
- testcase/: 用于編寫接口自動化測試用例
- run_demo.py: 執(zhí)行所有接口測試用例的主程序
接口測試用例的主程序GitHub項目地址:https://github.com/yingoja/DemoAPI
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python3+Requests+Excel完整接口自動化測試框架的實現(xiàn)
- 利用Python如何實現(xiàn)數(shù)據(jù)驅(qū)動的接口自動化測試
- python接口自動化測試之接口數(shù)據(jù)依賴的實現(xiàn)方法
- Python http接口自動化測試框架實現(xiàn)方法示例
- Python接口自動化測試的實現(xiàn)
- Python+unittest+requests+excel實現(xiàn)接口自動化測試框架
- Python實現(xiàn)http接口自動化測試的示例代碼
- python使用pytest接口自動化測試的使用
- python接口自動化測試數(shù)據(jù)和代碼分離解析
- Python+Requests+PyTest+Excel+Allure?接口自動化測試實戰(zhàn)
- Python+requests+unittest執(zhí)行接口自動化測試詳情
- python使用requests+excel進行接口自動化測試的實現(xiàn)
相關文章
matplotlib之pyplot模塊之標題(title()和suptitle())
這篇文章主要介紹了matplotlib之pyplot模塊之標題(title()和suptitle()),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-028段用于數(shù)據(jù)清洗Python代碼(小結(jié))
這篇文章主要介紹了8段用于數(shù)據(jù)清洗Python代碼(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10Python的collections模塊中的OrderedDict有序字典
字典是無序的,但是collections的OrderedDict類為我們提供了一個有序的字典結(jié)構(gòu),名副其實的Ordered+Dict,下面通過兩個例子來簡單了解下Python的collections模塊中的OrderedDict有序字典:2016-07-07pytorch DataLoader的num_workers參數(shù)與設置大小詳解
這篇文章主要介紹了pytorch DataLoader的num_workers參數(shù)與設置大小詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05