前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:行哥
今天给大家介绍一个Faker模块,一款基于Python的测试数据生成工具,无论是用于初始化数据库,创建XML文件,或是生成压测数据,Faker都是不错的选择。
- 1.Faker工具包
- 2.生成数据
- 2.1 获取随机数据
- 2.2 生成本地化数据
- 3.最后
1.Faker工具包
只需要使用pip便可下载该工具包
pip install faker
如果下载速度比较慢的话,可以使用国内镜像源来下载
国内源:
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学:http://pypi.hustunique.com/
- 山东理工大学:http://pypi.sdutlinux.org/
- 豆瓣:http://pypi.douban.com/simple/
例如:pip3 install -i https://pypi.doubanio.com/simple/ faker
2.生成数据
2.1 获取随机数据
使用faker.Factory.create()创造并初始化faker生成器,faker生成器可以通过访问按所需数据类型命名的属性来生成数据
from faker import Faker
faker = Faker() # 创建对象
print('name:', faker.name())
print('address:', faker.address())
print('text:', faker.text())
运行结果如下:
name: Jeremiah Brown
address: 32553 Brian Village Suite 438
West Jared, SC 86824
text: Care professional decision beautiful office although indeed. Newspaper away can prove history hour bank table. Area wear effect action war.
2.2 生成本地化数据
在创建对象的时候可以指定所在区域与语言生成想要的测试数据,当然也是支持中文数据的,在创建对象中加入"zh_CN"数据即可
from faker import Faker
faker = Faker("zh_CN")
for i in range(10):
print('name:', faker.name())
运行结果如下
name: 张涛
name: 王金凤
name: 程秀芳
name: 柳峰
name: 陈杨
name: 刘慧
name: 喻柳
name: 宋宇
name: 张岩
name: 戴波
这个工具包提供了多个方法来生成数据,利用这些方法来生成一个“女朋友”的详细数据非常简单
- faker.providers.address # 地址
- faker.providers.company # 公司
- faker.providers.internet # 网络信息
- faker.providers.job # 工作
- faker.providers.lorem # 文本
- faker.providers.person # 个人
- faker.providers.phone_number # 手机号码
- ker.providers.ssn
代码如下:
from faker import Faker
faker = Faker("zh_CN")
print('姓名:', faker.name())# 随机输出中文姓名
print('联系方式:', faker.phone_number())# 随机输出电话号码
print('地址:', faker.address())# 随机输出地址
print('公司:', faker.bs())# 随机输出公司
print('工作:', faker.job())# 随机输出工作
print('邮箱:', faker.company_email())# 随机输出邮箱
print('文本:', faker.text())