ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

debugtalk.py辅助函数 - 连接数据库

2022-05-25 15:33:44  阅读:132  来源: 互联网

标签:__ info 数据库 py db id sql self debugtalk


连接数据库

  接口操作完成后,校验数据库   1.首先安装mysql驱动包pymysql     pip install pymysql

  连接数据库进行增删改查

    connect_mysql.py
import pymysql

# 配置数据库相关信息
dbinfo = {
    "host": "127.0.0.1",
    "user": "root",
    "password": "123456",
    "port": 8080
}

class DbConnect(object):
    def __init__(self, db_cof, database=""):
        # 打开数据库连接
        self.db = pymysql.connect(database=database, cursorclass=pymysql.cursors.DictCursor, **db_cof)
        # 使用cursor()方法获取操作游标
        self.cursor = self.db.cursor()
        print("连接成功")

    def select(self, sql):
        # sql查询语句
        # sql = 'select * from table where name="张三"'
        self.cursor.execute(sql)
        results = self.cursor.fetchall()
        print("查询成功")
        return results

    def execute(self, sql):
        # sql删除、提交、修改语句
        print("删除成功")
        try:
            self.cursor.execute(sql)  # 执行sql语句
            self.db.commit()  # 提交修改
        except:
            # 发生错误时回滚
            self.db.rollback()

    def close(self):
        # 关闭连接
        self.db.close()

if __name__ == "__main__":
    db = DbConnect(dbinfo, database='info')
    sql = 'select * from info where id=1;'
    res = db.select(sql)
    print(res)

    sql1 = 'delete from info where id =2;'
    res1 = db.execute(sql)
    print(res1)

  测试结果校验数据库状态

    debugtalk.py
from utils.connect_mysql import DbConnect, dbinfo

def get_db_info(user_id,key='id'):
    db = DbConnect(dbinfo, database='info')
    sql = 'select * from info where id=%s;' % user_id
    res = db.select(sql)
    print(res)
    if len(res) == 0:
        result = '空'
    else:
        result = res[0][key]
    return result
if __name__ == "__main__":
    r = get_db_info(user_id=1)
    print(r)

    update_info.py

config:
    name: 修改用户信息用例
    base_url: http://127.0.0.1:8080
    variables:
        user_id: 1
        username: "zhangsan"
        usertel: 13333333333
        usersex: "m"
        birthaddress: "羊村"
        birthday: 2000-01-01
        schoolname: "蓝翔技校"

teststeps:
-
    name: 修改用户信息
    request:
        url: /api/test/info/$user_id
        method: PUT
        json:
            username: $username
            usertel: $usertel
            usersex: $usersex
            birthaddress: $birthaddress
            birthday: $birthday
            schoolname: $schoolname
    validate:
        - eq: [status_code, 200]
        - eq: [body.code, 1000]
        - eq: [body.msg, success!]
        - eq: [body.data.goodsstatus, '${get_db_info($user_id)}']

 

  

标签:__,info,数据库,py,db,id,sql,self,debugtalk
来源: https://www.cnblogs.com/qmm-1000/p/16309420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有