前言:我们在日程测试项目中,都会需要大量造一些数据或者一些特定要求的数据来进行测试,每次手动去自己去想自己去写,是不是太麻烦了呢。今天就给大家介绍Faker库给大家认识
一、Faker库是什么?a)作为一个非常有用的工具,Faker库可以生成可用于应用程序开发/测试方面的 Fake 数据,可以直接通过Python三方库的方式安装
二、如何安装faker?pip install Faker #方式一:自动下载最新版本 pip install Faker==8.11.0 #方式二:下载指定版本三、数据语言?
a)数据语言类型:
在创建Faker对象时,可以指定数据的语言代号,从而产生不同国家的测试数据。默认英文en-US
简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
德文:de_DE
日文:ja_JP
韩文:ko_KR
法文:fr_FR
例子:中国
faker=Faker('zh-CN')
三、常用数据
a)数据四要素:
from faker import Faker #导入库 1、姓名 name = fk.name() 2、身份证 id_card = fk.ssn() 3、手机号【项目中使用】 phone = fk.phone_number() 4、银行卡 card = fk.credit_card_number()
b)制造信息数据:
from faker import Faker #导入库 1、地址 addr = fk.address() 2、邮箱 email = fk.email() 3、公司名称 company = fk.company() 4、公司邮箱 company_email = fk.company_email() 5、工作岗位 job = fk.job() 6、更多个人信息 per = fk.profile() 7、简单个人信息 per = fk.simple_profile() 随机数 : res = fk.random_int(min=100,max=999)
c)制造时间数据:
Faker时间相关: 一、不指定时间范围 1、不指定范围从1970开始 2、年 year = fk.year() 3、当前年 this_year = fk.date_this_year() 4、月 month = fk.month() 5、当前月 this_month = fk.date_this_month() 6、精确到秒 date_time = fk.date_time() 7、年月日 date = fk.date() 指定时间范围: 1、年月日 target_time = fk.date_between(start_date="-2m",end_date="today") -1y: 一年前 -1m: 一个月前 today:今天 2、精确到秒 target_time_now = fk.date_time_between(start_date="-2y",end_date="-1y") -1y: 一年前 -1m: 一个月前 now:此刻 未来时间: 未来时间 年月日 future_date = fk.future_date() 未来时间 年月日 时分秒 future_date_time = fk.future_datetime()
d)SSN用于生成身份证号:
faker.providers.ssn fake.ssn(min_age=18, max_age=90) # '23122219960103485X'
e)User agent:用于生成用户代理身份
faker.providers.user_agent
fake.android_platform_token()
# 'Android 2.3.2'
fake.chrome(version_from=13, version_to=63, build_from=800, build_to=899)
# ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/534.0 (KHTML, '
# 'like Gecko) Chrome/41.0.831.0 Safari/534.0')
fake.firefox()
# ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3; rv:1.9.3.20) '
# 'Gecko/2013-04-29 16:06:30 Firefox/3.6.19')
fake.internet_explorer()
# 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)'
fake.ios_platform_token()
# 'iPad; CPU iPad OS 9_3_6 like Mac OS X'
fake.linux_platform_token()
# 'X11; Linux i686'
fake.linux_processor()
# 'i686'
fake.mac_platform_token()
# 'Macintosh; U; PPC Mac OS X 10_7_1'
fake.mac_processor()
# 'U; Intel'
fake.opera()
# 'Opera/8.63.(X11; Linux i686; ug-CN) Presto/2.9.165 Version/11.00'
fake.safari()
# ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_9 rv:3.0; pl-PL) '
# 'AppleWebKit/531.33.2 (KHTML, like Gecko) Version/4.0.3 Safari/531.33.2')
fake.user_agent()
# 'Mozilla/5.0 (compatible; MSIE 9.0; Windows 98; Trident/5.1)'
fake.windows_platform_token()
# 'Windows NT 6.1'
四、数据共享,通过Faker.seed(234)实现
例子:
# 数据共享,通过Faker.seed(234)实现
class TestDemo:
def __init__(self):
self.fk = Faker(locale="zh-CN")
def test_01(self):
Faker.seed(234)
print(self.fk.name())
def test_02(self):
Faker.seed(234)
print(self.fk.name())
if __name__ == '__main__':
cl = TestDemo()
cl.test_01()
cl.test_02()
Faker库还能造很多很多有意思的数据,我们只是举例了很少很少一部分,如果你想了解更多,可以去官网查看喔



