首页
/
每日頭條
/
科技
/
python接口自動化架構
python接口自動化架構
更新时间:2025-06-21 01:55:39

每天進步一點點,關注我們哦,每天分享測試技術文章

本文章出自【碼同學軟件測試】

碼同學公衆号:自動化軟件測試

碼同學抖音号:小碼哥聊軟件測試

進行接口測試時,我們需要連接到數據庫中,對數據源進行備份、還原、驗證等操作。

Python連接數據庫常見模塊
  • mysqldb
  • python2時代最火的驅動庫。基于C開發,對windows平台不友好。現在已經進入python3時代,基本不再使用
  • MysqlClient
  • mySQLdb的衍生版本,完全兼容python3.它是重量級Web開發框架Django中ORM功能依賴工具
  • Pymysql
  • 純Python實現的驅動,性能比MysqlDb差,但是安裝簡單,容易使用
  • SQLAlchemy
  • 即支持原生SQL也支持ORM的庫

我們以pymysql為例

01

Pymysql使用方法

安裝方法:pip install pymysql

Pymsyql使用流程
  • 獲取連接
  • 獲取遊标 --遊标的作用就是用于對查詢數據庫所返回的記錄進行遍曆,以便進行相應的操作
  • 執行SQL語句
  • 關閉遊标
  • 關閉連接

python接口自動化架構(Python接口自動化核心模塊)1

python接口自動化架構(Python接口自動化核心模塊)2

代碼實現:

# 創建數據庫連接對象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 模塊給開發者提供了非常豐富的功能。

python接口自動化架構(Python接口自動化核心模塊)3

日志級别

日志級别是為了控制打印日志的信息程度的

首先,配置日志模塊時,需要先設置日志模塊的日志等級

例如,如果設置為INFO級别,那麼打印日志用DEBUG就不會輸出日志。

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

python接口自動化架構(Python接口自動化核心模塊)4

日志輸出模式

  • 輸出到控制台
  • 輸出到文件

python接口自動化架構(Python接口自動化核心模塊)5

日志格式

指定輸出的日志的格式和内容常見的格式有:

%(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: 打印日志信息

logging使用流程
  • 第一步:實例化logging模塊
  • 第二步:設置日志等級
  • 第三步:配置日志處理器、日志格式;日志處理器:控制日志的打印模式
  • 第四步:打印日志

免費領取 碼同學軟件測試 課程筆記 超多學習資料 完整視頻 最新面試題,可以轉發文章 私信「碼同學666」獲取資料哦

01

logging模塊處理流程

python接口自動化架構(Python接口自動化核心模塊)6

接口測試框架實現日志收集功能

編寫日志配置函數代碼

這個函數配置了輸出日志到控制台和文件,并且設置了日志打印格式

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安裝包,就可以輸出我們配置好日志格式和日志等級的日志信息了

python接口自動化架構(Python接口自動化核心模塊)7

免費領取碼同學軟件測試課程筆記 超多學習資料 學習完整視頻,可以關注我們公衆号哦:自動化軟件測試

本文著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
油霧淨化器
油霧淨化器
油霧淨化器其實是屬于一種工業環保設備。在使用這種油霧淨化器的時候,将其安裝在機床,或者是清洗機等等的機械加工設備之上,吸除一些加工腔之中的油霧,因此而達到淨化空氣的效果,也是可以因此更好的保護工人身體健康的目的。希望我們要加以注重。油霧淨化器屬于是一種安裝在了CNC加工中心,或者是磨床、車床等等各類...
2025-06-21
等離子電視如何保養
等離子電視如何保養
散熱大功率産生的高溫可以看作是等離子電視的頭号大敵,所以在使用中要特别注意等離子電視的散熱,并且不要長時間的暴露在射燈和太陽下。屏幕灼傷因為長時間播放固定靜止畫面而使屏幕局部受到灼傷産生畫面殘影,這是等離子電視本身特性所決定的。電壓有條件的情況下應為等離子電視提供獨立的供電線路,或者再增加一個穩定電...
2025-06-21
冰箱不制冷
冰箱不制冷
說到了冰箱這種家電,不得不說冰箱對于我們的日常生活是非常重要的一種家電之一。而冰箱的主要作用就是最大限度地制冷并且起到保持食物新鮮度的作用,但是很多朋友都會發現冰箱不制冷的現象是非常普遍的,而且還會經常遇到過冰箱不制冷的現象。那麼到底冰箱不制冷怎麼辦呢?應該怎麼解決這些問題呢?其實導緻冰箱不制冷的原...
2025-06-21
中央空調機分為幾類
中央空調機分為幾類
中央空調系統由冷熱源系統和空氣調節系統組成。制冷系統為空氣調節系統提供所需冷量,用以抵消室内環境的冷負荷;制熱系統為空氣調節系統提供用以抵消室内環境熱負荷的熱量。制冷系統是中央空調系統至關重要的部分,其采用種類、運行方式、結構形式等直接影響了中央空調系統在運行中的經濟性、高效性、合理性。按構造不同,...
2025-06-21
挂燙機好用嗎
挂燙機好用嗎
挂燙機是很多人比較關心的問題,主要是挂式的熨鬥也就是挂着晾衣服和布料的機器,主要是内部産生的一些熱水蒸汽不斷的接觸,達到軟化成軟化衣服和布料纖維組織的目的,是衣服和布料運行的起來比較簡單,它與平闆的熨鬥相比的更加的方便快捷,而且全程有效地保護布料。很多人對于它的使用方面很擔心。挂燙機好用嗎它主要是用...
2025-06-21
Copyright 2023-2025 - www.tftnews.com All Rights Reserved