一、前言
本文章主要会讲解接口自动化测试中Python如何操作数据库、为何要操作数据库,有哪些利弊,以及数据库断言、相关的接口关联的测试,废话我就不都说了,咱们直接进入主题哟。
二、自动化数据库理论与操作
2.1 接口自动化为何要操作数据库
接口自动化中操作数据库主要是根据业务层面决定的,部分情况例如查询手机号、或个人信息时需要操作数据库,有时候也有可能需要删除某个内容,通常而言不会这么做罢了。
2.2 接口自动化操作数据库的利弊
"""
利:
1、能够根据我们需要的业务情况来解决一定的业务问题
弊:
1、数据库的操作本身就会让自动化变得慢,需要建立连接 -- 查询 等等
2、数据库本身是一种依赖, 我们能不操作数据库尽可能不操作
"""
2.3 Python操作数据库
要操作数据库,需要先进行pymysql库的安装,按照对应语法填写好对应数据即可:
import pymysql
"""
1、连接数据库:输入用户名,密码,地址,端口
2、游标:使用游标读取数据、修改数据(执行sql语句)
3、获取操作结果
4、关闭游标
5、关闭数据库连接
"""
conn = pymysql.connect(user="future",
password="XXXXXX",
host="XX.XX.XX.XX",
port=3306
)
cursor = conn.cursor()
# 执行sql
sql = "SELECT mobile_phone,id,reg_name FROM XXXXXXX.member WHERE mobile_phone = 137XXXXXXXX"
cursor.execute(sql)
# 获取一个结果每条记录用元组表示
res = cursor.fetchone()
print(res)
# 关闭
cursor.close()
conn.close()
输出的数据是元组,元组数据不可修改,我们需要进行类型转换,如要输出字典,需要加上DictCursor:
import pymysql
from pymysql.cursors import DictCursor
"""
1、连接数据库:输入用户名,密码,地址,端口
2、游标:使用游标读取数据、修改数据(执行sql语句)
3、获取操作结果
4、关闭游标
5、关闭数据库连接
"""
conn = pymysql.connect(user="future",
password="XXXXXX",
host="XX.XX.XX.XX",
port=3306
)
cursor = conn.cursor(DictCursor)
# 执行sql
sql = "SELECT mobile_phone,id,reg_name FROM XXXXXXX.member WHERE mobile_phone = 137XXXXXXXX"
cursor.execute(sql)
# 获取一个结果每条记录用元组表示
res = cursor.fetchone()
print(res)
# 关闭
cursor.close()
conn.close()