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