前言:我们在日程测试项目中,都会需要大量造一些数据或者一些特定要求的数据来进行测试,每次手动去自己去想自己去写,是不是太麻烦了呢。今天就给大家介绍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库还能造很多很多有意思的数据,我们只是举例了很少很少一部分,如果你想了解更多,可以去官网查看喔