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

概述

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

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

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

函数封装

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))
# 返回的结果:
# { "表字段名": "字段值" }

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 19:30:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 19:30:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 19:30:04       58 阅读
  4. Python语言-面向对象

    2024-07-12 19:30:04       69 阅读

热门阅读

  1. CVE漏洞爬虫脚本

    2024-07-12 19:30:04       20 阅读
  2. 掌握Postman的API请求模板:一键生成,效率倍增

    2024-07-12 19:30:04       24 阅读
  3. Vue中的Mixins与钩子函数:理解合并与调用

    2024-07-12 19:30:04       24 阅读
  4. Todo List

    2024-07-12 19:30:04       21 阅读
  5. ARM/Linux嵌入式面经(十):极氪

    2024-07-12 19:30:04       18 阅读
  6. 【网络安全】一文带你了解什么是【sql注入】

    2024-07-12 19:30:04       19 阅读
  7. Flowable工作流引擎核心事件详细解释说明

    2024-07-12 19:30:04       26 阅读
  8. SQL 视图

    2024-07-12 19:30:04       20 阅读
  9. 开发需要的热门常用API

    2024-07-12 19:30:04       21 阅读
  10. sql server记录数据库表行数变化记录

    2024-07-12 19:30:04       23 阅读
  11. 小抄 20240711

    2024-07-12 19:30:04       20 阅读
  12. vscode 远程开发

    2024-07-12 19:30:04       18 阅读