接口自动化测试中,断言时对数据正确性进行校验需要连接数据库。目前用到的数据库以mysql居多,简单封装了一个工具类,用于获取执行SQL后得到的单条数据、多条数据以及影响行数。
以下是V1版本,后续完善,可以加入异常捕获和日志记录等。
# -*- coding:UTF-8 -*-
# @author : Joker
# @Time : 2019/12/25
# @IDE : PyCharm
# @Version : Python 3.7
"""操作Mysql数据库的模块"""
import pymysql
from common.handle_conf import conf
class MysqlDB:
def __init__(self):
"""初始连接数据库并创建游标,信息从配置文件中读取"""
self.conn = pymysql.connect(host=conf.get_str("mysql", "host"),
port=conf.get_int("mysql", "port"),
user=conf.get_str("mysql", "user"),
password=conf.get_str("mysql", "password"),
database=conf.get_str("mysql", "database"),
charset="utf8")
self.cur = self.conn.cursor()
def get_one(self, sql):
"""获取第一条数据"""
self.conn.commit()
self.cur.execute(sql)
return self.cur.fetchone()[0]
def get_all(self, sql):
"""获取全部数据"""
self.conn.commit()
self.cur.execute(sql)
return self.cur.fetchall()
def count(self, sql):
"""获取影响行数"""
self.conn.commit()
num = self.cur.execute(sql)
return num
def close(self):
"""关闭游标并断开连接"""
self.cur.close()
self.conn.close()