扫码阅读
手机扫码阅读
关于Python连接数据库测试的那些事
68 2024-10-18
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:关于Python连接数据库测试的那些事
文章来源:
光荣之路
扫码关注公众号
自动化测试数据库连接经验分享
本文作者sesame介绍了自己作为测试攻城狮的经历,包括自动化测试学习和在新公司计算用户返佣比例的任务。作者因对返佣逻辑不熟悉,需要连接数据库进行验证,而公司数据库需通过SSH连接,经过努力,作者成功建立了连接,并分享了相应的代码。
为什么要做连接数据库的自动化测试
作者换工作后,被分配了计算用户返佣比例的任务。为了验证程序计算的返佣金额,作者需要从数据库获取用户信息进行对比。初始不熟悉返佣逻辑,作者花了时间学习并发现需要连接数据库来完成验证。
普通连接数据库
作者最初使用了笨办法进行数据库连接,即在本地建立数据库,让开发同学导出线上数据后导入本地,然后进行测试。这一过程费时费力,作者分享了本地连接数据库的代码,希望让读者避免踩同样的坑。
import os
import pymysql
import traceback
baseDir = os.path.dirname(os.path.dirname(__file__))
config_filePath = baseDir + "\\public\\db_config.ini"
db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='MyPass@123', db='test')
cursor = db.cursor()
数据库SSH连接
作者介绍了通过SSH连接数据库的方法,需要python安装sshtunnel和paramiko两个包,并分享了实现SSH连接的代码。
import pymysql, paramiko
from sshtunnel import SSHTunnelForwarder
with SSHTunnelForwarder(
('11.11.11.111', 22),
ssh_username="tianchuan",
ssh_pkey="e:\\zhuom\\tianchuan_rsa",
remote_bind_address=('跳板机域名', 3306)) as server:
conn = pymysql.connect(
host='127.0.0.1',
port=server.local_bind_port,
user='youhaodongxi',
passwd='数据库密码',
db='youhaodongxi')
cur = conn.cursor()
cur.execute("show databases")
print(cur.fetchall())
文章结尾,作者鼓励读者每天至少投入两小时学习时间,坚持编写代码,经过一年以上的努力,可以实现薪资的显著增长,并提供了一些测试开发的学习资源链接。
想要了解更多内容?
查看原文:关于Python连接数据库测试的那些事
文章来源:
光荣之路
扫码关注公众号
光荣之路的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线