- 引入 SmartInt 和 SmartDict 类型,支持 YAML 占位符与业务类型的自动转换。 - 优化 CaseInfo 互斥校验逻辑,确保 request 与 api_action 二选一。 - 统一使用 Pydantic V2 的 model_config 规范。 - 将变量替换时机提前至模型实例化之前,支持占位符在校验前完成真实值注入, 保证了 int/bool 等字段的类型转换正确性。 - 优化断言渲染时机,支持响应提取值关联。
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
#!/usr/bin/env python
|
||
# coding=utf-8
|
||
|
||
"""
|
||
@author: CNWei
|
||
@Software: PyCharm
|
||
@contact: t6i888@163.com
|
||
@file: databases
|
||
@date: 2025/2/16 20:53
|
||
@desc:
|
||
"""
|
||
import logging
|
||
import os
|
||
|
||
import pymysql as MySQLdb
|
||
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
class DBServer:
|
||
def __init__(self, host, port, user, password, database):
|
||
self.db = MySQLdb.connect(host=host, port=port, user=user, password=password, database=database)
|
||
self.cursor = self.db.cursor() # 创建新的会话
|
||
|
||
def execute_sql(self, sql):
|
||
logger.info(f"执行sql:{sql}")
|
||
self.cursor.execute(sql) # 执行sql命令
|
||
|
||
# res = self.cursor.fetchone() # 返回单行结果
|
||
res = self.cursor.fetchall() # 返回多行结果
|
||
return res
|
||
|
||
|
||
db = DBServer(
|
||
host=os.getenv("DB_HOST"), # ip
|
||
port=os.getenv("DB_PORT"), # 端口
|
||
user=os.getenv("DB_USER"), # 用户名
|
||
password=os.getenv("DB_PASSWORD"), # 密码
|
||
database=os.getenv("DB_DATABASE") # 库名
|
||
)
|
||
|
||
if __name__ == '__main__':
|
||
...
|
||
# res = db.execute_sql('select username from user where id=1;')
|
||
# print(res[0])
|