测试造数据必备神库Faker(python语言)

在测试过程中,有时候需要造一些测试数据,制造数据要耗费掉大量的精力,使用python的一个库能方便快捷的完成。

以最简单的造姓名和电话号码举例,如果我们自己写造测试数据的方法,大约需要10行的代码。

import random

def phone():
    third = second = [3, 4, 5, 6, 7, 8][random.randint(0, 5)]
    suffix = random.randint(10000000, 99999999)
 return "1{}{}{}".format(second, third, suffix)

def name():
    first = ['张', '金', '李', '王', '赵', '钱', '孙', '杨', '孙', '乔']
    second = ['玉', '明', '龙', '芳', '军', '玲']
    third = ['', '立', '玲', '高', '国', '蓝', '军', '玲']
 return random.choice(first) + random.choice(second) + random.choice(third)

print(phone())
print(name())

使用faker库只需要两行代码。

name = fake.name()
phone = fake.phone_number()

一、Faker库介绍

Faker是一个Python包,开源的github项目,地址:https://github.com/joke2k/faker

主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。

安装:

pip install Faker

导入包:

from faker import Faker

实例化:

fake = Faker(locale='zh_CN')

初始化参数locale:为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息(比如:名字,地址,邮编,城市,省份等),如使用zh_CN代表中国,生成的信息就是中国文化的姓名、地址等。如使用en_US代表美国,生成的信息就是英文名、美国文化的街道、地址等。

支持非常多的国家和地区文化:

en_US- English (United States)

zh_CN- Chinese (China)

de_DE- German

fake = Faker(locale='zh_CN') # 中文
name = fake.name()
address = fake.address()
print("中国:"+name+"|"+address)

fake = Faker(locale='en_US') # 英文
name = fake.name()
address = fake.address()
print("美国:"+name+"|"+address)

fake = Faker(locale='de_DE') # 德文
name = fake.name()
address = fake.address()
print("德国:"+name+"|"+address)
image

二、常用的方法

地理信息类:

city_suffix():市,县

country():国家

country_code():国家编码

district():区

geo_coordinate():地理坐标

province():省份

基础信息类:

ssn():生成身份证号

company():随机公司名

credit_card_number():信用卡号

job():随机职位

name():随机生成全名

phone_number():随机生成手机号

email():随机邮箱

网络基础信息类:

ipv4():随机IP4地址

ipv6():随机IP6地址

domain_name():生成域名

mac_address():随机MAC地址

url():随机URL地址

浏览器信息类:

chrome():随机生成Chrome的浏览器user_agent信息

firefox():随机生成FireFox的浏览器user_agent信息

internet_explorer():随机生成IE的浏览器user_agent信息

opera():随机生成Opera的浏览器user_agent信息

safari():随机生成Safari的浏览器user_agent信息

文本、加密类

text():随机生成文本(有可能不是一句正常的话,仅文本)

word():随机生成词语

words():随机生成多个词语

md5():随机生成MD5

sha1():随机SHA1

sha256():随机SHA256

时间信息类:

date():随机日期

date_between():随机生成指定范围内日期,参数:start_date,end_date

future_date():未来日期

future_datetime():未来时间

timezone():随机时区

year():随机年份

from faker import Faker

fake = Faker(locale='zh_CN')
province = fake.province()
city= fake.city()
ssn = fake.ssn()
company=fake.company()
job = fake.job()
name =fake.name()
ipv4 = fake.ipv4()
print(province,city,ssn,company,job,name,ipv4)

你可能感兴趣的:(测试造数据必备神库Faker(python语言))