随机数据生成工具-Faker实战教程
每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试,领取资料可加:Matongxue_8
码同学抖音号:小码哥聊软件测试
01随机测试数据生成
在测试的过程中有时候我们需要造数据,并且希望这些数据看起来像真的一样,同时在自动化测试 时也需要一些动态数据(比如手机号、当前日期时间、随机字符串等等),这些手动构造耗时耗力,本文 将带领大家学习一个伪数据的生成工具-Faker。
01什么是Faker
Faker是python方向的一个第三方库,主要用来创造伪数据,使用Faker,人们不再需要手动或者手写随机数来生成数据,只需要调用Faker提供的相关api即可完成数据的生成
02安装Faker
#windows下执行
pip install faker
#mac下执行
python3 -m pip install faker
03Faker引用及初始化
from
faker import Faker
# 初始化,设置locale为中文;默认是英文
fake = Faker(locale = 'zh_CN')
这里的locale参数可以理解成你要生成哪种类型的随机数据,英文形式的、中文形式的、德语的等等
04日期类随机数据
print('
年月日
:', fake.date(
pattern = '%
Y-%
m-%d'))
print('
随机年份
:', fake.year())
print('
随机年份
:', fake.year())
print('
随机月份
:',fake.month())
print('
随机几号
:', fake.day_of_month())
print('
随机星期数
:', fake.day_of_week())
print
('
时间
:', fake.time(
pattern = '
%H:%M:%S
'))
# -30y是过去30年前为开始日期,end_date表示结束到今天
print
('
过去某一天:
',fake.date_between(
start_date="
-30y
", end_date="
today
"))
print
('
今天:
',fake.date_between_dates()) #今天
print
('
日期和时间
:',fake.date_time()) #2021-05-14 19:36:00
print
('
当前日期时间
:',fake.date_time_between_dates())
print
('
某个区间内随机日期时 间:
',fake.date_time_between_dates(
datetime_start=
datetime(1999,2,2,10,30,20),dat
etime_end=
datetime(2000,2,2,10,30,20)))
print
('
未来的日期:
',fake.future_date(
end_date="
+30d
"))
print
('
未来的日期时间:
',fake.future_datetime(
end_date="
+30d
")) # 未来日期和时间)
print
('过去的日期:',fake.past_date(
start_date="
-30m
")) # 过去日期
print
('过去的日期时间:',fake.past_datetime(
start_date="
-30d
")) # 过去日期和时间
print
('
时间戳:
',fake.unix_time())
结果如下,大家可以对比下
年月日:
2004-03-17
随机年份:
2012
随机年份:
1992
随机月份:
06
随机几号:
02
随机星期数
:
Wednesday
时间: 15:40:26
过去某一天:
2007-01-05
今天:
2021-12-20
日期和时间:
2015-07-26 18:07:37
当前日期时间:
2021-12-20 17:00:17
某个区间内随机日期时间:
1999-05-23 03:00:03
未来的日期:2021-12-28
未来的日期时间:
2022-01-12 06:52:26
过去的日期:
2021-12-19
过去的日期时间:
2021-12-04 17:39:41
时间戳:
1201651489
05随机字符串/数字/加密
print
('
随机字符串
:',fake.pystr())
print
('
随机小写字母
:',fake.random_element())
print
('
随机大写字母
:',fake.random_letter())
print
('
随机一个段落
:',fake.paragraph())
print
('
随机一句话
:',fake.sentence())
print
('
随机一篇文章
:',fake.text())
print
('
随机一个词语
:',fake.word())
# print('随机二进制编码:',fake.binary())
print
('
随机Ture和False:
',fake.boolean())
print
('
随机md5
:',fake.md5())
print
(
'随机密码:
',fake.password())
print
('
随机SHA1:
',fake.sha1())
print
('
随机sha256:
',fake.sha256())
print
('
随机uuid
:',fake.uuid4())
print
('
三位随机数字
:',fake.numerify())
print
('
0-9随机数
:',fake.random_digit())
print
('
1-9随机数
:',fake.random_digit_not_null())
print
('
0-9999随机数
:',fake.random_int())
print
('
指定位数的随机数
:',fake.random_number(
digits=5))
print
('
随机小数
:',fake.pyfloat())
print
('
随机
int数
:',fake.pyint())
结果如下,大家可以对比下
随机字符串
:
KWGMcNmAbSaWRCLSzPmm
随机小写字母
:
b
随机大写字母
:
h
随机一个段落
: 来源之间起来决定组织不是.无法查看希望原因他的.
随机一句话
: 显示觉得一定操作作为.
随机一篇文章
: 国际因为威望.全部显示法律用户网站没有能够空间.的人如果电脑方式论坛.内容有限一次但是要求重要.怎么其实类型为了网上.电影孩子其他世界加入当然地址.没有规定作品这么类型.他的这么两个应该学习.同时实现东西增加准备控制只要继续.市场您的电话.解决时候所有决定.其他一切文化只是.这个的话经验音乐.管理免费由于什么谢谢不能.正在方式作品无法. 帮助朋友大小历史知道.
随机一个词语
:
本站
随机Ture和False
:
True
随机md5
:
3f6e3b09789337784493f0927cc51dcf
随机密码
:
tm75Aoz88_
随机SHA1:
509568f80084adda671b05d3c3018695a1bea620
随机sha256:
c479c7052d260aec91a0d33b5cd2785c4865747af02270b9d077f02e7126d216
随机uuid:
dd2b83f0-e5d8-4cce-a644-f60eaca15e6d
三位随机数字
:
680
0-9随机数
:
2
1-9随机数
:
6
0-9999随机数
:
3315
指定位数的随机数
:
26146
随机小数
: -8048554.3903039
随机int数
:
7804
免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:Matongxue_8
06随机人物相关信息
print
('
人物名字
:',fake.first_name()) # 名字
print
('
女性名字
:',fake.first_name_female())
print
('
男性名字
:',fake.first_name_male())
print
('
罗马文名字
:',fake.first_romanized_name())
print
('
姓:
',
fake.last_name())
print
('
男性的姓
:',fake.last_name_male())
print
('
女性的姓
:',fake.last_name_female())
print
('
罗马文的性
:',fake.last_romanized_name())
print
('
人物全名
:',fake.name())
print
('
女性全名
:',fake.name_female())
print
('
男性全名
:',fake.name_male())
print
('
简略个人信息
:', fake.simple_profile())
print
('
详细个人信息
:', fake.profile())
print
('
生成身份证号
:',fake.ssn())
print
('
生成手机号
:',fake.phone_number())
print
('
生成手机号段
:',fake.phonenumber_prefix())
print
('
完整信用卡信息
:',fake.credit_card_full())
print
('
信用卡号
:',fake.credit_card_number())
print
("
邮箱
:", fake.email())
结果如下,大家可以对比下
人物名字
:
桂芳
女性名字
:
玉
男性名字
:
东
罗马文名字
:
Guiying
姓: 包
男性的姓
:
王
女性的姓
:
夏
罗马文的性
:
Qiao
人物全名
:
施斌
女性全名
:
雷丽娟
男性全名: 周军
简略个人信息
:{'username': 'guiying92', 'name': '孙雪', 'sex': 'F', 'address': '山 西省台北市丰都海口路n座 269807', 'mail': 'yanzhou@hotmail.com', 'birthdate': datetime.date(1912, 10, 19)}
详细个人信息
:{'job': '清洁服务人员', 'company': '易动力信息有限公司', 'ssn': '320506195801305350',
'residence': '江苏省英县西夏罗路e座 172642', 'current_location':
(Decimal('-38.550926'), Decimal('-112.093486')), 'blood_group': 'O-',
'website': ['http://www.pingjun.cn/', 'http://12.cn/'], 'username':
'cxiang', 'name': '赖杨', 'sex': 'M', 'address': '湖南省合肥市双滦陈街y 座 762742',
'mail': 'mdong@yahoo.com', 'birthdate': datetime.date(1930, 12, 8)}
生成身份证号
:
530621196509110591
生成手机号
:
13188602771
生成手机号段
:
189
完整信用卡信息
:
VISA 16 digit
雷 樊
4721944675006067 10/30
CVC: 638
信用卡号
:
4568692860225937
邮箱
:
yong50@yahoo.com
07随机地址信息数据
print
('完整地址
:', fake.address()) #上海市慧县沈河魏路j座 436993
print
('街道+地址
:', fake.street_address()) #关岭街O座
print
('街道名
:', fake.street_name()) #李路
print
('城市名
:', fake.city_name()) #澳门
print
('城市
:', fake.city()) #林市
print
('区
:',fake.district()) #华龙
print
('省份名
:', fake.province()) #山西省
print
('邮编
:', fake.postcode()) #361494
print
('国家
:', fake.country()) #尼泊尔
print
('国家编码
:', fake.country_code()) #ST
print
('地理坐标(纬度)
:',fake.latitude()) #28.936546
print
('地理坐标(经度)
:',fake.longitude()) #-152.654212
结果如下,大家可以对比下
完整地址
: 浙江省淮安县朝阳长春街c座 205711
街道+地址
:巢湖路y座
街道名
:太原街
城市名
:巢湖
城市
:长春市
区
:高坪
省份名
:广东省
邮编
:738372
国家
:
葡萄牙
国家编码
:TW
地理坐标
(
纬度
): -19.917272
地理坐标
(
经度
): 166.694798
08随机公司信息数据
print
('
公司名
:', fake.company())
print
('
公司名后缀
:', fake.company_suffix())
print
('
公司名前缀
:', fake.company_prefix())
print
('
企业邮箱
:', fake.company_email())
结果如下,大家可以对比下
公司名
:通际名联科技有限公司
公司名后缀
:传媒有限公司
公司名前缀
:凌云
企业邮箱
: zhaona@yefeng.org
09随机网络信息数据
print
('
生成域名
:',fake.domain_name())
print
('
生成ipv4:
',fake.ipv4())
print
('
生成ipv6:
',fake.ipv6())
print
('
生成MAC地址
:',fake.mac_address())
print
('
生成uri地址
:',fake.uri())
print
('
生成url地址
:',fake.url())
print
('
随机用户名
:',fake.user_name())
结果如下,大家可以对比下
生成域名
:
yanglei.cn
生成ipv4
:
149.178.117.123
生成ipv6
:
d366:4b0b:3884:5c96:dc8e:edbb:1a0:8080
生成MAC地址
:
d6:0d:d9:e3:45:ad
生成uri地址
:
http://www.mingu.cn/
生成url地址
:
https://jie.cn/
随机用户名
:
sunjun
10随机用户代理信息
print
('随机安卓代理信息
:',fake.ios_platform_token())
print
('随机ios代理信息
:',fake.android_platform_token())
print
('随机chrome代理信息
:',fake.chrome())
print
('随机firefox代理信息
:',fake.chrome())
print
('随机ie代理信息:
',fake.internet_explorer())
print
('随机opera代理信息:
',fake.opera())
print
('随机safari代理信息
:',fake.safari())
print
('随机代理信息
:',fake.user_agent())
print
('随机windows代理信息
:',fake.windows_platform_token())
print
('随机mac代理信息
:',fake.mac_platform_token())
结果如下,大家可以对比下
随机安卓代理信息
:iPad; CPU iPad OS 10_3_3 like Mac OS X
随机ios代理信息:
Android 6.0.1
随机chrome代理信息:
Mozilla/5.0 (
Linux; Android 8.1.0) AppleWebKit/531.0
KHTML, like Gecko
() Chrome/49.0.818.0 Safari/531.0
随机firefox代理信息
:Mozilla/5.0 (
Linux; Android 3.2) AppleWebKit/533.2 (
KHTML, like Gecko) Chrome/52.0.824.0 Safari/533.2
随机ie代理信息:
Mozilla/5.0 (
compatible; MSIE 6.0; Windows NT 6.2; Trident/4.0)
随机opera代理信息:
Opera/8.94.(
X11; Linux x86_64; bem-ZM) Presto/2.9.169 Version/10.00
随机safari代理信息:
Mozilla/5.0 (Windows; U; Windows 98; Win 9x 4.90) AppleWebKit/535.5.5 (
KHTML, like
Gecko) Version/4.0 Safari/535.5.5
随机代理信息:
Mozilla/5.0 (
compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)
随机windows代理信息:
Windows 98
随机mac代理信息:
Macintosh; PPC Mac OS X 10 11_9
END
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:Matongxue_8/关注码同学公众号:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步