每天進步一點點,關注我們哦,每天分享測試技術文章
本文章出自【碼同學軟件測試】
碼同學公衆号:自動化軟件測試
碼同學抖音号:小碼哥聊軟件測試
進行接口測試時,我們需要連接到數據庫中,對數據源進行備份、還原、驗證等操作。
Python連接數據庫常見模塊我們以pymysql為例
01
Pymysql使用方法
安裝方法:pip install pymysql
Pymsyql使用流程
代碼實現:
# 創建數據庫連接對象connect = pymysql.Connect( host='xxxxx', port=3306, user='root', password='XXXX', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
connect:接收Pymysql.connect方法返回的對象,建立連接對象pymysql.Connect 建立連接方法host=XXXX 連接數據庫服務器port=3306 連接數據庫端口号user="root":用戶名password="xxxxx":密碼charset="utf8mb4":建立連接的編碼
cursorclass=pymysql.cursors.DictCursor:設置返回數據類型 返回字典
# 建立遊标cursor = conn.cursor()# 執行核心SQL語句cursor.execute("select version();")# 關閉遊标cursor.close()# 關閉連接conn.close()
查詢訂單庫得到一個遊标對象cursor = connect.cursor()查詢庫名加表名 mtxshop_trade.es_ordercursor.execute("SELECT order_id,trade_sn FROM mtxshop_trade.es_order WHERE order_id=47050 OR order_id=47049")data = cursor.fetchall() #得到查詢的所有結果cursor.close()#關閉遊标對象
02
日志的基本概念
提到日志,無論是寫框架代碼還是業務代碼,都離不開日志的記錄,他能給我們定位問題帶來極大的幫助,最佳的做法是使用内置的logging模塊, 因為 logging 模塊給開發者提供了非常豐富的功能。
日志級别
日志級别是為了控制打印日志的信息程度的
首先,配置日志模塊時,需要先設置日志模塊的日志等級
例如,如果設置為INFO級别,那麼打印日志用DEBUG就不會輸出日志。
日志輸出模式
日志格式
指定輸出的日志的格式和内容常見的格式有:
%(levelno)s: 打印日志級别的數值
%(levelname)s: 打印日志級别名稱%(pathname)s: 打印當前執行程序的路徑,其實就是sys.argv[0]%(filename)s: 打印當前執行程序名%(funcName)s: 打印日志的當前函數%(lineno)d: 打印日志的當前行号%(asctime)s: 打印日志的時間%(thread)d: 打印線程ID%(threadName)s: 打印線程名稱%(process)d: 打印進程ID%(message)s: 打印日志信息
免費領取 碼同學軟件測試 課程筆記 超多學習資料 完整視頻 最新面試題,可以轉發文章 私信「碼同學666」獲取資料哦
01
logging模塊處理流程
接口測試框架實現日志收集功能
編寫日志配置函數代碼
這個函數配置了輸出日志到控制台和文件,并且設置了日志打印格式
def logging_init():# 初始化日志器
logger = logging.getLogger()# 設置日志等級logger.setLevel(logging.INFO)# 添加控制器stream_handler = logging.StreamHandler()file_handler = logging.handlers.TimedRotatingFileHandler(config.BASE_DIR "/logs/lagou_log.log", when='h',interval=1,backupCount=3, encoding="utf-8")# 設置日志格式fmt = "%(asctime)s %(levelname)s [%(name)s] [ %(filename)s %(funcName)s % (lineno)d ] %(message)s "formatter = logging.Formatter(fmt)# 将日志格式添加到控制器stream_handler.setFormatter(formatter)file_handler.setFormatter(formatter)# 将控制器添加到日志器logger.addHandler(stream_handler)logger.addHandler(file_handler)
return logger
然後在api. init .py 中調用這個函數,完成日志的初始化
from utils import logging_init
# 初始化日志配置函數logging_init()
# 測試打印日志import logginglogging.info(" 測 試 info 級 别 的 日 志 打 印 ")logging.debug("測試debug級别的日志打印") #不會打印
在api. init .py 初始化日志配置的原因:
execute執行script中的用例,script中的用例是調用api 的接口實現接口測試,按照模塊語法,調用模塊時,會自動執行模塊下的 init .py 代碼
後續,隻需要在需要打印日志的模塊,導入logging安裝包,就可以輸出我們配置好日志格式和日志等級的日志信息了
免費領取碼同學軟件測試課程筆記 超多學習資料 學習完整視頻,可以關注我們公衆号哦:自動化軟件測試
本文著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!