测试工具
Project description
MangoTools 测试工具库
MangoTools 是一个功能强大的Python测试工具库,专为简化测试数据生成、数据库操作、断言验证和通知发送等常见测试任务而设计。
功能特性
🎲 数据生成与处理
- 随机数据生成:支持生成随机字符串、数字、时间、个人信息等各类测试数据
- JSON处理:提供JSON数据解析、提取和转换功能
- 缓存工具:内置缓存机制,提高数据访问效率
- 编码与加密:支持数据编码和加密处理
🗄️ 数据库连接
- MySQL支持:提供同步和异步MySQL数据库连接
- SQLite支持:轻量级SQLite数据库操作接口
- 连接池管理:高效的数据库连接池管理
✅ 断言验证
- 文本断言:支持多种文本匹配和验证方式
- 文件断言:Excel文件内容验证
- SQL断言:数据库查询结果验证
- 自定义断言:灵活的自定义断言规则
🔔 通知发送
- 邮件通知:SMTP邮件发送功能
- 微信通知:企业微信消息推送
🧰 装饰器工具
- 重试机制:自动重试失败的操作
- 单例模式:确保类实例唯一性
- 参数转换:自动参数类型转换
- 方法回调:支持同步和异步方法回调
安装方式
pip install mangotools
或者从源码安装:
git clone https://gitee.com/mao-peng/testkit.git
cd mangotools
pip install -r requirements.txt
使用示例
数据生成
from mangotools.data_processor import DataProcessor
# 创建数据处理器实例
processor = DataProcessor()
# 生成随机数据
random_name = processor.name() # 随机姓名
random_phone = processor.phone() # 随机手机号
random_time = processor.time_now_ymdhms() # 当前时间
数据库操作
from mangotools.database import MysqlConnect
# 创建数据库连接
db = MysqlConnect(host='localhost', user='root', password='password', database='test')
# 执行查询
result = db.select('SELECT * FROM users WHERE id = %s', (1,))
断言验证
from mangotools.assertion import MangoAssertion
# 创建断言实例
asserter = MangoAssertion()
# 文本断言
asserter.ass('equal', 'actual_value', 'expected_value')
# SQL断言
asserter.ass('sql_equal', 'SELECT COUNT(*) FROM users', 10)
技术栈
- Python版本:3.10+
- 异步支持:aiomysql
- 数据库:PyMySQL, SQLite
- 数据处理:Faker, jsonpath, deepdiff
- 缓存:cachetools, diskcache
- 日志:colorlog, concurrent-log-handler
- 模型验证:pydantic
- 文件处理:openpyxl
Docker部署
# 构建镜像
docker build -t mango_kit .
# 运行容器
docker run -d --name mango_kit mango_kit
项目结构
mangotools/
├── assertion/ # 断言模块
├── data_processor/ # 数据处理模块
├── database/ # 数据库连接模块
├── decorator/ # 装饰器工具
├── notice/ # 通知发送模块
├── log_collector/ # 日志收集模块
└── models/ # 数据模型
联系方式
📧 邮箱:729164035@qq.com
👨💻 作者:毛鹏
🔗 项目地址:https://gitee.com/mao-peng/testkit
许可证
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mangotools-2.0.2.tar.gz
(111.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
mangotools-2.0.2-py3-none-any.whl
(140.9 kB
view details)
File details
Details for the file mangotools-2.0.2.tar.gz.
File metadata
- Download URL: mangotools-2.0.2.tar.gz
- Upload date:
- Size: 111.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6d765cb53fb1a14fef9bf9701542d1eb75d3db591ffa8a7bc330af0afa158ee
|
|
| MD5 |
d3559c26ce75f79a18f6e13da84b8a99
|
|
| BLAKE2b-256 |
1179c067817549374ff5fe398432ab32a0cfa1dfe9b6537d301679c65f2e9b27
|
File details
Details for the file mangotools-2.0.2-py3-none-any.whl.
File metadata
- Download URL: mangotools-2.0.2-py3-none-any.whl
- Upload date:
- Size: 140.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbcdcafd62e96f9e5594fde1c0de43dcb18132bdbd05d8d4429fcc7b3778c68e
|
|
| MD5 |
df4fba846422383f9db2c9a51d9997a4
|
|
| BLAKE2b-256 |
73b85276ccd4483f5e1659ebc1fe21e803fbe92908ad256b60bee6c1c3308b6a
|