接口自动化之操作mysql数据库!

在接口自动化测试过程中并不像UI自动化测试一样存在界面可以通过界面数据校验正确性,除了可以通过接口返回的数据校验还可以通过操作数据库校验数据,那么我们该如何做接口自动化的数据校验呢?这篇文章我们就讲解以mysql为例,讲解接口自动化中如何做数据校验。基本的事例代码如下:

# 1.python连接mysql的驱动程序,需要用提前通过pip安装,然后导入pymysql
import pymysql

# 2.连接数据库
hostname = '数据库的ip地址'   #被连接的数据库服务器地址
username = '数据库账号'   #数据库账号
password = '数据库账号对应的密码'   #账号密码
dab = '表名'   #要连接的具体库名
conn = pymysql.connect(host=hostname, user=username, password=password, db=dab, charset='编码格式')

# 3.建立游标
cursor = conn.cursor()

# 4.执行sql
cursor.execute("需要执行的sql语句")

# 5.获取结果(可以选择获取一条数据或者获取多条数据)
cursor.fetchone() # 一条数据
cursor.fetchall() # 全部数据

# 6.关闭,释放资源
cursor.close() # 游标关闭
conn.close() # 连接关闭

接下来我们将代码中的变量替换成实际的数据结合项目进行讲解。

数据库中的数据显示如下:

图片

实际代码(查询一条数据)如下:

# 1.python连接mysql的驱动程序,需要用pip安装,先导入pymysql
import pymysql

# 2.连接数据库
hostname = 'localhost'   # 本机ip地址
username = 'root'   # 用户名为root
password = '123456'   # root用户的密码为123456
dab = 'tslove'   # 数据库名称为:tslove
charset = "utf8"
conn = pymysql.connect(host=hostname, user=username, password=password, db=dab, charset=charset)

# 3.建立游标
cursor = conn.cursor()

# 4.执行sql
cursor.execute("select username from oepre_user;")

# 5.获取结果
data1 = cursor.fetchone() # 一条数据

print(f"查询一条数据的结果为{data1}") # 查询一条数据

# 6.关闭,释放资源
cursor.close() # 游标关闭
conn.close() # 连接关闭

代码执行截图数据如下:

图片

实际代码(查询全部数据)如下:

# 1.python连接mysql的驱动程序,需要用pip安装,先导入pymysql
import pymysql

# 2.连接数据库
hostname = 'localhost'   # 本机ip地址
username = 'root'   # 用户名为root
password = '123456'   # root用户的密码为123456
dab = 'tslove'   # 数据库名称为:tslove
charset = "utf8"
conn = pymysql.connect(host=hostname, user=username, password=password, db=dab, charset=charset)

# 3.建立游标
cursor = conn.cursor()

# 4.执行sql
cursor.execute("select username from oepre_user;")

# 5.获取结果
data1 = cursor.fetchall() # 全部数据

print(f"查询一条数据的结果为{data1}") # 查询全部数据

# 6.关闭,释放资源
cursor.close() # 游标关闭
conn.close() # 连接关闭

代码执行截图数据如下:

图片

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目系统使用异步业务流程(线程池详细实现)

❤ 作者主页:李奕赫揍小邰的博客 ❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~* 🍊 记得点赞、收藏、评论⭐️⭐️⭐️ 📣 认真学习!!!🎉🎉 文章目录 异步化1.介绍…

雷卯有高强Ipp的多种电压ESD保护器件推荐

1.上海雷卯推出多种电压 高强Ipp ESD 防护器件 下表仅是部分展示。 3.USB PD 防浪涌方案 4.为什么需要高强Ipp ESD防护器件 硬件工程师常会遇到这种情况,我的PCB 板上电源也放ESD保护器件 了,但是当插拔电或上电瞬间ESD保护器件烧毁了,导致…

schweizer-electronic 公司 safedat2 操作使用说明

schweizer-electronic 公司 safedat2 操作使用说明

从上到下,深入理解LIN协议 及 进阶问题

目录 一、当LIN总线静默4s-10s时,节点自动进入休眠状态。这个“自动进入休眠状态”是怎么实现的?二、帧的架构设计2.1 问题提出2.2 帧设计 三、帧超时功能四、主节点如何接收从节点上报的数据?五、网络管理5.1 当功能开关关闭时,应…

乐得瑞科技PD协议芯片:OTG与充电并行,引领数据交互

在科技日新月异的今天,数据交互的方式对于我们的日常生活和工作都起到了至关重要的作用。但在OTG技术诞生之前,这一过程却显得相当繁琐和耗时。想象一下,你需要将数码相机的照片导入到笔记本电脑中,却不得不频繁地拔出内存卡&…

✅技术社区—使用Redis BitMap实现签到与查询历史签到以及签到统计功能

一、前言 签到是一个很常见的功能,如果使用数据库实现,那么用户一次签到,就是一条记录,假如有100万用户,平均每个用户每年签到次数为30次,则这张表一年的数据量为 3000 万条,一般签到记录字段不…

揭秘项目管理多重益处:加速产品上市、优化资源利用,提升质量与满意度等秘诀

一、引言 在飞速发展的商业环境中,项目管理已经成为企业成功的关键要素之一。正如项目管理大师哈罗德科兹纳所言:“项目管理不仅仅是关于完成任务的工具,更是一种战略武器,能够帮助企业获得竞争优势。”项目管理的好处多种多样&am…

Apache FtpServer在Windows上下载安装与使用

Apache FtpServer在Windows上下载安装与使用 1、Apache Ftp Server下载 进入apache官网 https://mina.apache.org/ftpserver-project/old-downloads.html 下载自己使用的版本。 Apache FtpServer 1.1.1及以下的版本需要JDK1.7的支持 Apache FtpServer 1.1.1以上的版本需要JDK…

Linux--任务管理与守护进程

目录 任务管理 进程组概念 作业概念 会话概念 补充 守护进程 基本概念 守护进程的查看 守护进程的创建 自己手写守护进程 使用系统调用函数创建守护进程 任务管理 进程组概念 每一个进程除了有一个进程ID之外,还有一个进程组ID,进程组是一个或…

新零售SaaS架构:线上商城系统架构设计

零售商家为什么要建设线上商城? 传统的实体门店服务范围有限,只能吸引周边500米以内的消费者。因此,如何拓展服务范围,吸引更多的消费者到店,成为了店家迫切需要解决的问题。 缺乏忠实顾客,客户基础不稳&a…

clickhouse突然启动不起来问题排查

场景: 在实现postgreql数据迁移到clickhouse中,想使用MaterializedPostgreSQL的功能实现,但是中途clickhouse突然挂了,就再启动不了了。 现象: systemctl start clcikhouse-server启动报错 [rootlocalhost clickhous…

python矢量算法-三角形变化寻找对应点

1.算法需求描述 现有随机生成的两个三角形A与B,在三角形A中存在Pa,使用算法计算出三角形B中对应的点Pb 2.python代码 import numpy as np # 计算三角形A的面积 def area_triangle(vertices): return 0.5 * np.abs(np.dot(vertices[0] - vertices[…

用python爬取CSDN博客的总字数

一、下载pycahrm 此处推荐博客:PyCharm安装教程,图文教程(超详细)-CSDN博客 二、安装相应的库 pycharm安装库的步骤: 1、打开pycharm; 2、在菜单栏中,选择 "file">"setti…

d3dcompiler43.dll缺失怎么修复,教你五个方法快速搞定

在数字世界的深渊中,有一个名为d3dcompiler_43.dll的神秘文件,它就像一把打开现代科技之门的钥匙。这个文件是DirectX 12的一部分,由微软公司开发,用于编译和处理图形数据。 d3dcompiler_43.dll是一个动态链接库(DLL&…

代码随想录算法训练营第三十一天 | 455. 分发饼干、376. 摆动序列、53. 最大子数组和

代码随想录算法训练营第三十一天 | 455. 分发饼干、376. 摆动序列、53. 最大子数组和 455. 分发饼干题目解法 376. 摆动序列题目解法 53. 最大子数组和题目解法 感悟 455. 分发饼干 题目 解法 class Solution { public:int findContentChildren(vector<int>& g, vec…

AcWing 1250. 格子游戏 (并查集,坐标变换)

记录此题的目的&#xff1a; 明确二维的坐标可以映射到一维&#xff1a;在x和y都是从0开始的前提下&#xff0c;假如图形列数为n&#xff0c;(x,y)映射到一维可以写成x * n y。并查集并不好存储二维数据&#xff0c;如果遇到二维数据可以将其映射到一维。 Alice和Bob玩了一个…

Amazon Bedrock 实践 | 动手玩转 Claude 3

生成式 AI 和大模型在 2024 年已经进入落地实践阶段。因此&#xff0c;围绕开发者在生成式应用程序开发中的主要痛点和需求&#xff0c;我们组织了这个 “Amazon Bedrock 实践” 的系列&#xff0c;希望可以帮助开发者高效地上手生成式 AI 和大模型的应用开发&#xff0c;本篇为…

Spring:面试八股

文章目录 参考Spring模块CoreContainerAOP 参考 JavaGuide Spring模块 CoreContainer Spring框架的核心模块&#xff0c;主要提供IoC依赖注入功能的支持。内含四个子模块&#xff1a; Core&#xff1a;基本的核心工具类。Beans&#xff1a;提供对bean的创建、配置、管理功能…

第十三届蓝桥杯省赛真题 Java B 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 星期计算试题 B: 山试题 C: 字符统计试题 D: 最少刷题数试题 E \mathrm{E} E : 求阶乘试题 F : \mathrm{F}: F: 最大子矩阵试题 G: 数组切分试题 H: 回忆迷宫试题 I: 红绿灯试题 J 拉箱子 发现宝藏 前些天发现了一个巨牛的人工智能学习…

C++ 侯捷 程序设计(Ⅱ)兼谈对象模型 笔记

Conversion function 转换函数 侯捷老师使用分数 Fraction举例&#xff0c;分数理应可以被看作是小数 提供了Fraction类对象一个转换为double的方法&#xff0c;当碰到需要转换为double的情况下&#xff0c;会调用该方法。 黄色的就是转换函数&#xff0c;没有return type&am…