Python操作数据库完成接口测试

1969 篇文章 51 订阅
1221 篇文章 21 订阅

在这里插入图片描述

前言

数据库的操作在测试工作中也是经常使用的,通过一些一些工具来操作数据库的方法大家都应该了解,那么Python操作数据库的大家了解吗?

今天测试君通过本篇文章介绍下如何通过Python来操作mysql数据库。

pymysql

pymysql属于Python的一个第三方库,用例操作mysql数据库。

安装:pip install pymysql

源码地址:https://github.com/PyMySQL/PyMySQL/

连接数据库

操作数据库前肯定需要连接数据库了,pymysql通过connext的方法用来连接数据库,其中需要一些数据库的参数内容如:登录账号、登录密码。

数据库的地址(这里安静使用的是本地自己安装的数据库),以及需要连接哪一个数据库。

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()

查找数据

查询内容肯定需要执行sql内容pymysql这里通过execute的方法来执行sql命令并返回一共有多少数据,然后在通过fetchall()来显示sql查询结果的所有内容。

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'select * from weather'
# 执行sql
a = db.execute(sql)
# 查找所以内容
result = db.fetchall()
print(result)

通过执行发现已经讲我们这个表中的所有数据全部都查询出来了,安静这里只在数据库中添加了2条数据。
在这里插入图片描述

pymysql中也提供了只查询一行数据结果的方法:fetchone()。

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'select * from weather'
# 执行sql
a = db.execute(sql)
# 显示一行查询结果
for i in range(a):
    result = db.fetchone()
    print(result)

通过执行可以看出来fetchone()只能每次查询1行数据,然后这里通过for循环的方法让其也展示出来了所有的数据内容。

在这里插入图片描述

修改数据

当我们在数据库上进行修改数据后,都会需要点击下保存按钮,修改数据才会进行生效,Python操作数据库这里也是一样的。这里通过commit()的方法来实现的。

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'update weather set city= "郑州" where id =1 '
# 执行sql
a = db.execute(sql)
count.commit()

通过执行上述代码,查看进行查看数据库数据发现已经将上海更改为了郑州,说明我们的修改操作已经成功了。
在这里插入图片描述

删除数据

删除数据操作完成后,也需要通过commit来进行保存:

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql删除语句
sql = 'Delete from weather  where city="郑州" '
# 执行sql
a = db.execute(sql)
count.commit()

通过执行后,查看数据库结果,发现已经将郑州这条数据删除了。

新增数据

增删改查就剩下一个新增数据,新增数据和上述内容基本上都是一直的,我们只需要写sql语句,然后在通过commit进行保存即刻。

import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql新增语句
sql = 'INSERT INTO weather VALUES ("上海","331eab8f3481f37868378fcdc76cb7cd",1)'
# 执行sql
a = db.execute(sql)
count.commit()

通过执行完成后,可以看到我们的数据库中已经新增一条数据了。

图片

接口实战

上述内容简单的介绍了如何通过Python连接数据库,并如何进行对数据增删改查。接下来安静通过读取数据库的数据来完成接口实战(本文的接口内容来自聚合数据,需要的可以自行申请)。

在这里插入图片描述
这里通过requests库来模拟请求接口,通过读取数据库数据来进行传入接口参数中。

import pymysql
import requests
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'select * from weather'
# 执行sql
a = db.execute(sql)
# 获取其中一条数据
result = db.fetchone()
# 接口请求参数内容
data = {
    'city':result[0],
    'key':result[1]
}
# url地址
url = 'http://apis.juhe.cn/simpleWeather/query'
# 模拟post请求
r = requests.post(url,data=data)
print(r.text)

通过执行后发现,接口的请求结果已经返回出来了。

图片

总结

上述文章中简单的介绍了如何通过Python连接数据,以及对数据的增删改查,也通过了一个小小的接口案例来实现了读取数据内容,然后传入接口参数中。

这里肯定很多人会想,那么我们的测试数据可以通过数据库的形式进行保存了。

当我们接口自动化时候,我们可以通过sql语句创建一些测试数据,通过读取数据的方法将数据传入接口中,当接口测试完成后,在进行删除本次测试数据内容。

当然安静这是简单的说思路,具体的实践还要根据公司项目进行设计。好了,我是安静,感谢大家的阅读,希望对您有所帮助。

最后: 大家可以去我博客首页看下侧边栏! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

  • 43
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 40
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值