韩国时尚网站欣赏,房屋装修流程步骤,平台开发网站建设公司官网,网站漂浮广告怎么做进行接口测试时#xff0c;我们需要连接到数据库中#xff0c;对数据源进行备份、还原、验证等操作。
一、Python连接数据库常见模块
MysqlDBpython2时代最火的驱动库。基于C开发#xff0c;对windows平台不友好。现在已经进入python3时代#xff0c;基本不再使用MysqlCl…进行接口测试时我们需要连接到数据库中对数据源进行备份、还原、验证等操作。
一、Python连接数据库常见模块
MysqlDBpython2时代最火的驱动库。基于C开发对windows平台不友好。现在已经进入python3时代基本不再使用MysqlClientmysqldb的衍生版本完全兼容python3.它是重量级Web开发框架Django中ORM功能依赖工具Pymysql纯Python实现的驱动性能比MysqlDb差但是安装简单容易使用SQLAlchemy即支持原生SQL也支持ORM的库
我们以pymysql为例
二、Pymysql使用方法
安装方法pip install pymysql
Pymsyql使用流程
获取连接获取游标 --游标的作用就是用于对查询数据库所返回的记录进行遍历以便进行相应的操作执行SQL语句关闭游标关闭连接 代码实现
# 创建数据库连接对象
connect pymysql.Connect(hostxxxxx,port3306,userroot,passwordXXXX,charsetutf8mb4,cursorclasspymysql.cursors.DictCursor
)connect接收Pymysql.connect方法返回的对象,建立连接对象
pymysql.Connect 建立连接方法
hostXXXX 连接数据库服务器
port3306 连接数据库端口号
userroot用户名
passwordxxxxx密码
charsetutf8mb4建立连接的编码
cursorclasspymysql.cursors.DictCursor:设置返回数据类型 返回字典# 建立游标
cursor conn.cursor()
# 执行核心SQL语句
cursor.execute(select version();)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()查询订单库
得到一个游标对象
cursor connect.cursor()
查询库名加表名
mtxshop_trade.es_order
cursor.execute(SELECT order_id,trade_sn FROM mtxshop_trade.es_order WHERE order_id47050 OR order_id47049)
data cursor.fetchall() #得到查询的所有结果
cursor.close()#关闭游标对象
三、日志的基本概念
提到日志无论是写框架代码还是业务代码都离不开日志的记录他能给我们定位问题带来极大的帮助最佳的做法是使用内置的logging模块 因为 logging 模块给开发者提供了非常丰富的功能。
日志级别
日志级别是为了控制打印日志的信息程度的
首先配置日志模块时需要先设置日志模块的日志等级
例如如果设置为INFO级别那么打印日志用DEBUG就不会输出日志。
DEBUGINFOWARNINGERRORCRITICAL
日志输出模式
输出到控制台输出到文件
日志格式
指定输出的日志的格式和内容常见的格式有
%(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模块第二步设置日志等级第三步配置日志处理器、日志格式日志处理器控制日志的打印模式第四步打印日志
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, whenh,
interval1,backupCount3, encodingutf-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 logging
logging.info( 测 试 info 级 别 的 日 志 打 印 )
logging.debug(测试debug级别的日志打印) #不会打印
在api. init .py 初始化日志配置的原因
execute执行script中的用例script中的用例是调用api 的接口实现接口测试按照模块语法调用模块时会自动执行模块下的 init .py 代码
后续只需要在需要打印日志的模块导入logging安装包就可以输出我们配置好日志格式和日志等级的日志信息了 作为一个软件测试的过来人我想尽自己最大的努力帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源现在免费分享给大家有需要的小伙伴可以关注【公众号开心螺蛳粉】自提 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 行动吧在路上总比一直观望的要好未来的你肯定会感谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入群1150305204里面有各种测试开发资料和技术可以一起交流哦。