zoukankan      html  css  js  c++  java
  • 【接口平台】数据库连接调试

    接口平台提供配置数据库地址后直接根据名称即可根据sql操作对应的数据库
    在这里插入图片描述
    大家经常遇到配置数据库后,在执行用例时对应的操作并没有成功,但是这个语句直接在navicat或其他界面化的工具中执行是正确无误的,很多时候可能是因为数据库的信息配置有误导致,故需要完成一个功能,即提供数据库连接测试

    其实数据库目前支持的类型包括mysql和redis,python中是否有根据连接属性,然后ping或者其他字段判断连接是否成功呢?

    mysql直接连接,若连接失败则抛出异常

        def mysql(self,host,port,username,pwd,table):
            """
            数据库连接测试
            """
            conf = {'host': host, 'port': port, 'user': username, 'password': pwd, 'db': table,
                    'charset': 'utf8mb4',
                    'cursorclass': pymysql.cursors.DictCursor}
            try:
                connection = pymysql.connect(**conf)
                connection.close()
                return {'ping': True, 'message': '连接成功'}
            except Exception as e:
                return {'ping': False, 'message': str(e)}
    

    redis提供了ping的方式,但ping失败同样是抛出异常的方式

        def redis(self,host,port,username,pwd,table):
            """
            redis连接测试
            """
            try:
                redis.Redis(host=host, port=port, password=pwd, db=table).ping()
                return {'ping': True, 'message': '连接成功'}
            except Exception as e:
                return {'ping': False, 'message': str(e)}
    

    通过动态的方式调用

        def db_ping(self,db_type,host,port,username,pwd,table):
            """
            db连接调试
            """
            return getattr(DbPing(),db_type)(host,port,username,pwd,table)
    

    虽然实现的姿势有些问题,但是功能实现,期待后续的优化吧

  • 相关阅读:
    yii2:如果获取config/web.php配置的值?
    yii2:引用项目外的文件或类
    yii2: oracle汉字占用字节长度
    yii2: oralce中文,有的汉字是2个字节,有的汉字是3个字节
    yii2:frontend/frontactoin curl生成
    Appium做Android功能自动化测试
    appium server日志分析
    appium的初始化准备工作
    Appium的Java封装
    使用Runtime.getRuntime().exec()在java中调用python脚本
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533584.html
Copyright © 2011-2022 走看看