Python Faker批量生成测试数据

一、前言

在做自动化测试或压力测试时会需要大批量生成测试数据,简单的方式你可以写一个存储过程使用随机函数来生成记录,但这种生成数据看起来不够真实,其实有蛮多现成的工具可以完成这一任务。

二、Faker基本使用介绍

faker是一个生成伪造数据Python第三方库,可以伪造姓名、城市等等,并且支持中文。

复制代码
安装  pip install faker

使用flask shell交互生成测试数据

三、批量生成会员及博客文章数据

注:使用faker构造user及post对象,然后批量创建记录,生成了100万条记录大约花费了30分钟左右。

四、faker相关方法

进入faker源代码目录faker/providers下,可以看到提供了下列类别的生成数据方法。

复制代码
address: 地址相关的automotive:汽车相关的,牌照等bank:银行相关的barcode:条码相关的color:颜色相关的company:公司相关的,公司名称,公司口号等等。。credit_card:信用卡相关的currency:货币相关的date_time:时间相关的file:文件相关的,文件名,扩展名,路径等geo:地理位置相关的internet:网络相关的,域名,邮件等isbn:图书相关的job:职位相关的lorem:misc:杂项等。person:人物相关的phone_number:电话相关的profile:档案相关的python:python相关的,ssn:身份证user_agent:用户代理相关的

进入每个provider 目录providers/address/init.py可以查看支持哪些构造数据的方法。比如地址生成方法。

相关推荐
学测绘的小杨4 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz31011 小时前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐11 小时前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海1 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱1 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理