文章詳情頁
Python接口自動(dòng)化測試框架運(yùn)行原理及流程
瀏覽:4日期:2022-07-03 16:28:03
本文總結(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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JAMon(Java Application Monitor)備忘記2. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例3. Python PyQt5中彈出子窗口解決子窗口一閃而過的問題4. 如何用 Python 制作一個(gè)迷宮游戲5. Python基于pyjnius庫實(shí)現(xiàn)訪問java類6. NetCore 配置Swagger的詳細(xì)代碼7. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法8. Java SE 6中JDBC 4.0的增強(qiáng)特性9. idea自定義快捷鍵的方法步驟10. idea配置jdk的操作方法
排行榜
