testdata include chinese personal four element and offen use datetime 测试数据包含随机生成的中国公民四要素,及常用的日期时间 根据swagger文档生成规则用例 用于性能测试摸高,并生成统一测试报告
Project description
🧪 lazy_testdata 测试数据生成与性能测试工具包
一个用于快速生成测试数据、数据库操作辅助、性能测试执行与报告生成的 Python 工具包。
📦 目录结构
lazy_testdata/
├── chinacitycode.py # 中国城市编码数据
├── chinesecardbin.py # 银行卡 BIN 数据
├── chinesename.py # 中文姓名数据
├── core.py # 核心测试数据生成类(身份证、银行卡、时间工具等)
├── dbhelper.py # 数据库连接与 SQL 操作工具
├── pthelper.py # 性能测试(JMeter)执行与报告生成工具
├── sh_and_os_ext.py # 系统命令与文件路径处理工具
└── __init__.py # 包初始化
🔍 主要功能模块说明
1. 🧾 core.py —— 核心测试数据生成器
🧍♂️ 个人信息生成(PersonalInfo 类)
- 手机号码:随机生成国内主流号段
- 中文姓名:从姓氏 + 名字列表中组合
- 身份证号码:
- 支持指定年龄范围(如 18~50 岁)
- 自动计算校验位
- 银行卡号:基于预设 BIN 号生成
- 四要素信息:返回包含姓名、身份证、银行卡、手机号的字典
⏰ 时间工具类(DateTimeUtil)
- 获取当前时间格式化字符串(SQL、无分隔符、请求编号等)
- 日期加减(天数、月份)、获取某月第几天
- 获取两个日期之间的所有日期
- UTC 转 GMT+8 时间转换
📘 Swagger 接口自动化用例生成(Swagger2Case 类)
- 支持从线上接口文档或本地 JSON 文件读取
- 自动生成“全参数”、“空参数”两类测试用例
- 支持 GET/POST 请求参数解析填充
2. 💾 dbhelper.py —— 数据库辅助工具
- 使用 SQLAlchemy 和 Records 实现数据库连接
- 提供参数化查询与 SQL 执行功能
- 支持 Pandas 导出为 Excel 文件
3. 🚀 pthelper.py —— 性能测试辅助工具
- 自动构建 JMeter CLI 命令并执行
- 支持并发用户数、循环次数等参数配置
- 支持多 JMX 文件批量运行
- 自动收集 CSV 日志并生成 HTML 报告
- 支持导出汇总报表为 CSV/XLSX 文件
- 支持错误率过滤与排序展示
4. 🖥️ sh_and_os_ext.py —— 系统命令与文件工具
- 获取文件路径、文件名、后缀
- 执行 Shell 命令并输出结果
5. ✨ 其他模块数据支持
chinacitycode.py:提供中国城市编码列表chinesecardbin.py:常用银行卡 BIN 列表chinesename.py:中文姓氏与名字列表
🛠️ 安装与使用
安装依赖(建议使用虚拟环境)
pip install sqlalchemy records pandas json2html requests dateutil
若需运行 JMeter 性能测试,请确保系统已安装 Apache JMeter 并配置好环境变量。
示例导入使用
from lazy_testdata.core import PersonalInfo, DateTimeUtil
pi = PersonalInfo()
print(pi.full_name()) # 生成中文姓名
print(pi.create_idcard()) # 生成身份证号
print(pi.create_phone()) # 生成手机号
print(pi.create_bankcardno()) # 生成银行卡号
dtu = DateTimeUtil()
print(dtu.get_sql_dt()) # 获取当前时间(SQL 格式)
print(dtu.get_aftermonth(3)) # 获取三个月后的日期
📊 性能测试示例(pthelper.py)
from lazy_testdata.pthelper import combine_cli_cmd
# 运行指定目录下的所有 JMX 文件,每线程执行 10 次
combine_cli_cmd(jmx_dir='jmx', threads=10, loops=10)
📄 报告生成
- 生成 HTML 报告:
gen_summary_report(data) - 导出为 Excel:
export_excel(data, title)
🧩 开发维护建议
- 扩展性:可将更多测试数据模板抽象成插件形式,便于复用。
- 异常处理:增强对数据库连接失败、JMeter 未安装等情况的提示。
- 日志记录:引入 logging 替代 print,提高调试效率。
- 单元测试:为各模块编写 unittest,确保稳定性。
📝 License
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
lazy_testdata-1.1.36.tar.gz
(39.6 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
File details
Details for the file lazy_testdata-1.1.36.tar.gz.
File metadata
- Download URL: lazy_testdata-1.1.36.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8adbe9341b6b7367175731359c22168f5a20c011585739b86788510937aa222
|
|
| MD5 |
b8955ec5a6f2d505d1a3d70ae42d6fb8
|
|
| BLAKE2b-256 |
104f26ba9216c965166f2642b219910c2878ec3feaab33a161569d202fb159eb
|
File details
Details for the file lazy_testdata-1.1.36-py3-none-any.whl.
File metadata
- Download URL: lazy_testdata-1.1.36-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
024cbbcd744fbc5efd221e7860c92f8df60c5a3a19b7d0d5942e80ef74a47f89
|
|
| MD5 |
826715a1ce9b0bd79a7f6d76924947df
|
|
| BLAKE2b-256 |
ad5a491e88ce030b2815b5a36c94bef089ae642a0903916e1a9089e2bbb6f61a
|