随机数据生成工具-Faker实战教程

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试

码同学抖音号:小码哥聊软件测试


01

随机测试数据生成

在测试的过程中有时候我们需要造数据,并且希望这些数据看起来像真的一样,同时在自动化测试 时也需要一些动态数据(比如手机号、当前日期时间、随机字符串等等),这些手动构造耗时耗力,本文 将带领大家学习一个伪数据的生成工具-Faker


01    什么是Faker

Faker是python方向的一个第三方库,主要用来创造伪数据,使用Faker,人们不再需要手动或者手写随机数来生成数据,只需要调用Faker提供的相关api即可完成数据的生成


02   安装Faker

#windows下执行

pip install faker

#mac下执行

python3 -mpip install faker


03   Faker引用及初始化

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


免费领取码同学软件测试课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章+ 私信「码同学666」获取资料哦


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': '[email protected]', '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': '[email protected]', 'birthdate': datetime.date(1930, 12, 8)}

生成身份证号: 530621196509110591

生成手机号: 13188602771

生成手机号段:189

完整信用卡信息:VISA 16 digit

雷 樊

4721944675006067 10/30

CVC: 638

信用卡号:4568692860225937

邮箱: [email protected]


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())

结果如下,大家可以对比下

公司名:通际名联科技有限公司

公司名后缀:传媒有限公司

公司名前缀:凌云

企业邮箱: [email protected]


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

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(随机数据生成工具-Faker实战教程)