扫码阅读
手机扫码阅读

关于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连接数据库测试的那些事
文章来源:
光荣之路
扫码关注公众号