天天看點

Python 接口自動化測試架構

本文總結分享介紹接口測試架構開發,環境使用python3+selenium3+unittest+ddt+requests測試架構及ddt資料驅動,采用excel管理測試用例等內建測試資料功能,以及使用htmltestrunner來生成測試報告,目前有開源的poman、jmeter等接口測試工具,為什麼還要開發接口測試架構呢?因接口測試工具也有存在幾點不足。

測試資料不可控制。比如接口傳回資料不可控,就無法自動斷言接口傳回的資料,不能斷定是接口程式引起,還是測試資料變化引起的錯誤,是以需要做一些初始化測試資料。接口工具沒有具備初始化測試資料功能,無法做到真正的接口測試自動化。

無法測試加密接口。實際項目中,多數接口不是可以随便調用,一般情況無法摸拟和生成加密算法。如時間戳和mdb加密算法,一般接口工具無法摸拟。

擴充能力不足。開源的接口測試工具無法實作擴充功能。比如,我們想生成不同格式的測試報告,想将測試報告發送到指定郵箱,又想讓接口測試內建到ci中,做持續內建定時任務。

Python 接口自動化測試架構

 測試架構處理過程如下:

首先初始化清空資料庫表的資料,向資料庫插入測試資料;

調用被測試系統提供的接口,先資料驅動讀取excel用例一行資料;

發送請求資料,根據傳參資料,向資料庫查詢得到對應的資料;

将查詢的結果組裝成json格式的資料,同時根據傳回的資料值與excel的值對比判斷,并寫入結果至指定excel測試用例表格;

通過單元測試架構斷言接口傳回的資料,并生成測試報告,最後把生成最新的測試報告html檔案發送指定的郵箱。

Python 接口自動化測試架構

目錄結構介紹如下:

config/:                    檔案路徑配置

database/:               測試用例模闆檔案及資料庫和發送郵箱配置檔案

db_fixture/:              初始化接口測試資料

lib/:                          程式核心子產品。包含有excel解析讀寫、發送郵箱、發送請求、生成最新測試報告檔案

package/:                存放第三方庫包。如htmltestrunner,用于生成html格式測試報告

report/:                    生成接口自動化測試報告

testcase/:                用于編寫接口自動化測試用例

run_demo.py:          執行所有接口測試用例的主程式

github項目位址:    ​​https://github.com/yingoja/demoapi​​

繼續閱讀