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 resultelif 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_dictexcept Exception as e:logger.info("数据库查询失败,原因:" + str(e))
# 返回的结果:
# { "表字段名": "字段值" }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于蓝牙iBeacon定位技术的商场3D楼层导视软件功能详解与实施效益

在现代商场的繁华与复杂中,寻找目的地往往令人头疼。维小帮3D楼层导视软件以其创新技术,为顾客带来无缝、直观的跨楼层导航体验,让每一次商场消费都成为享受。 商场3D楼层导视软件功能服务 3D多楼层导视地图,商场布局一览无遗 …

Linux进程——进程的概念

文章目录 PCB进程排队进程标识符pid终止进程获取进程id父进程与子进程 我们在上一节内容中有简单谈到进程的感性理解,他在课本上的概念是,程序的一个执行实例或正在执行的程序 但在本质上,他其实就是一个被分配了系统资源(CPU&am…

EtherCAT总线耦合器:在欧姆龙SysmacStudio软件里的配置步骤

EtherCAT总线适配器:在欧姆龙SysmacStudio软件里的配置步骤 EtherCAT总线适配器XD7000作为网络接口,连接主控制器(如PLC)和其他EtherCAT设备,实现实时、高效的数据交换。通过EtherCAT总线耦合器,用户能够将…

推荐系统数据格式COO Matrix

coo_matrix 是一种稀疏矩阵格式,代表坐标形式(Coordinate format)。在这种格式中,矩阵的非零元素通过行坐标和列坐标存储,因此适用于存储稀疏矩阵(即大部分元素为零的矩阵)。这种格式对于构建稀…

类和对象(初)

目录 一、面向过程和面向对象初步认识 二、类的引入 命名规则 三、类的定义 四、访问限定符 五、类的作用域 六、类的实例化 七.类对象模型 一、面向过程和面向对象初步认识 1.C语言是面向过程的,关注的是过程,分析出求解问题的步骤,…

Java:更适合小白的Java语言开发规范(根据阿里巴巴Java开发手册总结整理)

一 代码原则 通过所有测试(Passes its tests):强调的是外部需求,这是代码实现最重要的​尽可能消除重复 (Minimizes duplication):代码的模块架构设计,保证代码的正交性,保证代码更容易修改尽可…

面试题目分享

学习目标: 从面试了解自己的不足。 学习内容: 1.你会什么语言? 我该如何回答,我会java,c,c等,在工作中我会用到合适的语言。 牛逼吹的大话 尊敬的面试官,我精通Java和Python&…

鸿蒙语言基础类库:【@ohos.data.storage (轻量级存储)】

轻量级存储 轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。 说明: 开发前请熟悉鸿蒙开发…

Android表格布局的概念与属性

表格布局的概念与属性 表格布局(TableLayout)是以行、列的形式来管理控件的,类似与表格。如图所示,是一个表格布局。TableLayout继承自LinearLayout,支持LinearLayout所支持的全部属性,默认为垂直方向的Li…

第一个基于FISCOBCOS的前后端项目(发行转账)(已开源)

本文旨在介绍一个简单的基于fiscobcos的前后端网站应用。Springbootjs前后端不分离。 所使用到的合约也是一个最基本的。首先您需要知道的是完整项目分为三部分,1是区块链平台webase搭建(此项目使用节点前置webase-front即可),2是…

预测算法面试

这次面试的是一个预测算法的岗位。虽然我对供应链相关的预测很厌烦了,但是这个不是供应链领域的,感觉应该还好。 首先在介绍工作经历和项目部分,这次面试没有上来没有条理乱说一气,而是预测目标、算法架构、各种使用特征这些分层…

游戏AI的创造思路-技术基础-行为树

行为树源自于游戏,但又不单单局限在游戏中,现代的行为树为游戏提供了一套快速简洁的控制NPC/AI的方法。所以本篇来讲讲行为树这个老祖宗~~~~ 目录 1. 行为树的定义 2. 发展历史 2.1. 起源与早期发展 2.2. 关键节点与重要进展 2.3. 当前现状与未来 …

ubuntu 换源

sudo apt update 错误如下 Ign:1 http://security.ubuntu.com/ubuntu focal-security InRelease Ign:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Err:3 http://security.ubuntu.com/ubuntu focal-security Release SECURITY: URL redirect target…

人工智能讲座——深度学习实现行人重识别

目录 一、引言 二、深度学习基本概念 三、损失函数 一、引言 1、在不同的监控检测同一行人,实现行人的监测。 2、文本描述行人特征。根据文本描述寻找行人。 是图像检索问题,检索对象是行人。 标本图像与待查询图像相似度对比,相似度从…

人工智能大模型讲师培训老师叶梓介绍及多模态大模型原理与实践提纲

培训需要解决的问题 通过本次培训,拓展对多模态AI应用领域的视野,帮助团队聚焦AI赋能创新突破,提升对AI服务的技术认知与理解,更好地助力业务智能化业务建设。 培训时长 1天 培训老师介绍 叶梓,工学博士&#xff0…

python零基础爬虫教程,(实战案例手把手教你Python爬虫教程!)

前言 女朋友看了都能学会的爬虫教学 自己断断续续学习练习了两三年python爬虫,从网上看了无数教程,跟大神们学习了各种神奇的操作,现在虽然没成为大神,但是想通过这篇教程来分享自己学习的爬虫实战案例。 通过本教程,你…

Linux程序替换

前言 上一期对进程的创建、终止、以及等待做了详细的介绍,对于进程控制的内容基本介绍的差不多了,本期来介绍进程控制的最后一个内容即进程的程序替换! 本期内容介绍 • 什么是进程的程序替换 • 单进程的程序替换 • 程序替换的基本原理 •…

代码优化方法记录

每次代码 review 之后,对 review 的情况进行总结记录,产出实际经验,方便组内学习、分享。 1、提取公共内容 公共内容要提取,避免重复编写; 2、css 色值使用变量 css 中的色值、字体,都换成组件库中的变…

在 IVS 2024 加密盛会上开拓创新:CESS 引领去中心化云存储和 CD²N 之发展

作为基于区块链的去中心化云存储网络和 CDN 基础设施网络,CESS 在日本年度加密创业大会 IVS 2024 上成为焦点!此次活动在历史悠久的京都举办,围绕“跨越边界”这一主题,吸引了超过15,000 名参会者,其中包括 3,000 创始…

docker/podman 安装nacos

设置环境变量,创建卷目录: VOL_HOME/data/volumes; mkdir -p $VOL_HOME/nacos/conf; mkdir -p $VOL_HOME/nacos/logs; mkdir -p $VOL_HOME/nacos/data; chown -R 200 $VOL_HOME/nacos; 创建nacos数据库,运行脚本: $VOL_HOME/na…