Python使用Faker库

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

  • 2
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值