Django+vue自动化测试平台(26)-- 接口自动化测试之连接数据库执行sql

概述

做过接口自动化的朋友都知道,接口自动化很重要的一个环节就是,结果对比。

结果对比又分很多种:

  • 响应结果对比
  • 入库对比
  • redis对比
  • 等...

今天就来讲讲怎么使用python连接数据,并执行sql查询数据,示例:mysql,clickhouse

函数封装

python 复制代码
def local_db_execute(data):
    try:
        db = Api_db_config.objects.filter(id=data["db_id"]).values().first()
        # db是维护在数据库里的配置,通过db_id查询相关配置
        if db["db_type"] == 1:
            conn = pymysql.connect(host=db["db_host"],
                                   user=db["db_username"], passwd=db["db_password"],
                                   db=db["db_name"], port=int(db["db_port"]))
            cur = conn.cursor()

            cur.execute(f"SELECT * FROM {data['table_name']} where {data['where']} limit 1")
            result = [dict(zip([column[0] for column in cur.description], row)) for row in cur.fetchall()]
            return result
        elif db["db_type"] == 2:
            # 建立连接,注意这里的参数赋值方式
            cur = Client(host=db["db_host"], port=int(db["db_port"]), user=db["db_username"],
                         password=db["db_password"], database=db["db_name"])
            result = cur.execute(f"SELECT * FROM {data['table_name']} where {data['where']} limit 1")
            result_dict = [{column: value for column, value in zip(result.columns, result.fetchone())}]
            cur.disconnect()
            return result_dict

    except Exception as e:
        logger.info("数据库查询失败,原因:" + str(e))
# 返回的结果:
# { "表字段名": "字段值" }
相关推荐
code_pgf几秒前
sqlite数据库cmakelist.txt编译
数据库·sqlite
源码之家3 分钟前
计算机毕业设计:Python股票智能分析预测平台 Flask框架 数据分析 可视化 机器学习 随机森林 大数据(建议收藏)✅
python·机器学习·数据分析·django·flask·课程设计
a9511416423 分钟前
PHP如何批量处理AI请求_队列系统搭建【技巧】
jvm·数据库·python
sinat_383437363 分钟前
如何实现SQL简单数据的映射查询_使用CASE表达式替换
jvm·数据库·python
2401_835956814 分钟前
JavaScript 中实现基于分组的前端产品筛选功能
jvm·数据库·python
阿里巴巴首席技术官5 分钟前
SQL日志显示优化原创分享
数据库·sql
m0_746752306 分钟前
SQL中窗口函数的LIMIT限制逻辑_如何分页显示
jvm·数据库·python
wechatbot8886 分钟前
企业微信 iPad 协议客服机器人自动化管理平台开发指南
java·运维·微信·自动化·企业微信·ipad
m0_514520576 分钟前
Go语言怎么做自动补全_Go语言CLI自动补全教程【经典】
jvm·数据库·python
m0_7478545212 分钟前
php怎么使用PHP PM热重启_php如何零停机更新生产环境代码
jvm·数据库·python