Skip to main content

测试工具

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-1.1.75.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mangotools-1.1.75-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file mangotools-1.1.75.tar.gz.

File metadata

  • Download URL: mangotools-1.1.75.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.4

File hashes

Hashes for mangotools-1.1.75.tar.gz
Algorithm Hash digest
SHA256 6ba323d70c3a7b4958e071c3b60088d1a2adcb277b7d8d573a07d794452232a5
MD5 53b1ce9d2cdf4fffa86fec88757f4e78
BLAKE2b-256 ef17199f7d315238a35fe6c2af825c05e66fd9cb332c538c3e7f509fc3c48c1b

See more details on using hashes here.

File details

Details for the file mangotools-1.1.75-py3-none-any.whl.

File metadata

  • Download URL: mangotools-1.1.75-py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.4

File hashes

Hashes for mangotools-1.1.75-py3-none-any.whl
Algorithm Hash digest
SHA256 0ee2c934f3f75ee0aaea420b808a33cf479ecb4094ed317b9c625b37fbe34a3a
MD5 6a91180385370f5dd5710d6480c0f4de
BLAKE2b-256 e017c9449bb2a59aaf3c5f854e06bc93167b05af3112afc90714d9653279fb78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page