it编程 > 软件设计 > 软件测试

基于Faker生成测试数据的示例代码

28人参与 2025-06-27 软件测试

faker 是用来生成测试数据的python包,可以很方便地生成各种测试数据,支持中文,支持命令行模式。

$ faker -l zh_cn address
甘肃省帆市清浦谢街g座

$ faker -l zh_cn name
刘**

生成 chrome 的 user_agent

from faker import faker

fake = faker('zh_cn')
for _ in range(5):
    chrome = fake.chrome()
    print(chrome)


# mozilla/5.0 (x11; linux x86_64) applewebkit/532.1 (khtml, like gecko) chrome/43.0.857.0 safari/532.1
# mozilla/5.0 (x11; linux i686) applewebkit/534.0 (khtml, like gecko) chrome/46.0.841.0 safari/534.0
# mozilla/5.0 (iphone; cpu iphone os 13_7 like mac os x) applewebkit/532.1 (khtml, like gecko) crios/14.0.801.0 mobile/54x039 safari/532.1
# mozilla/5.0 (linux; android 3.2.1) applewebkit/531.2 (khtml, like gecko) chrome/25.0.873.0 safari/531.2
# mozilla/5.0 (macintosh; intel mac os x 10_10_8) applewebkit/536.0 (khtml, like gecko) chrome/60.0.815.0 safari/536.0

随机生成 user_agent

from faker import faker

fake = faker('zh_cn')
for _ in range(5):
    chrome = fake.user_agent()
    print(chrome)

# opera/8.19.(x11; linux i686; niu-nz) presto/2.9.180 version/10.00
# mozilla/5.0 (compatible; msie 6.0; windows nt 5.2; trident/3.0)
# mozilla/5.0 (x11; linux x86_64; rv:1.9.7.20) gecko/8311-12-14 02:44:34 firefox/3.8
# mozilla/5.0 (x11; linux i686; rv:1.9.5.20) gecko/9099-08-21 17:11:00 firefox/3.6.17
# mozilla/5.0 (macintosh; intel mac os x 10_5_1 rv:6.0; fy-de) applewebkit/535.48.4 (khtml, like gecko) version/4.1 safari/535.48.4

生成日期

from faker import faker

fake = faker('zh_cn')
faker.seed(0)
for _ in range(5):
    date = fake.date()
    print(date)

# 1996-03-20
# 2021-07-31
# 1998-08-15
# 1972-10-03
# 1987-08-15

人名

from faker import faker

fake = faker('zh_cn')
faker.seed(0)
for _ in range(5):
    name = fake.name()
    print(name)

faker 生成随机测试数据

初始化国家地区

fake = faker(locale='zh-cn')  # 初始化国家地区为中国
# fake = faker(locale='en-au') # 澳洲
 
'''
常见国家的本地化参数示例:
美国英语(en_us):faker('en_us')
英国英语(en_gb):faker('en_gb')
中文(中国)(zh_cn):faker('zh_cn')
中文(台湾)(zh_tw):faker('zh_tw')
法国法语(fr_fr):faker('fr_fr')
德国德语(de_de):faker('de_de')
日本日语(ja_jp):faker('ja_jp')
澳洲:faker(locale='en-au')
'''

人名相关

print(fake.first_name()) # 生成随机first name
print(fake.last_name()) # 生成随机last name
print(fake.first_name_female()) # 生成随机女性名字
print(fake.first_name_male()) # 生成随机男性名字
print(fake.name_female()) # 生成随机女性全名
print(fake.name_male()) # 生成随机男性全名
print(fake.name()) # 生成随机名字

公司名相关

print(fake.company()) # 公司名全称
print(fake.company_prefix()) # 公司名
print(fake.company_suffix()) # 公司性质,如xx有限公司
print(fake.bs()) # 公司服务名

邮箱相关

print(fake.ascii_company_email()) # ascii公司邮箱
print(fake.ascii_email()) # ascii邮箱
print(fake.company_email()) # 公司邮箱
print(fake.safe_email()) # 安全邮箱
print(fake.email()) # 普通邮箱

地区相关

print(fake.country()) # 国家
print(fake.country_code()) # 国家代码
print(fake.province()) # 省
print(fake.city()) # 市
print(fake.district()) # 区
print(fake.street_address()) # 街道地址
print(fake.street_name()) # 街道名
print(fake.postcode()) #邮编
print(fake.address()) # 详细地址
print(fake.city_suffix()) # "市"或"县"
print(fake.street_suffix()) # "街"或"路"

卡相关

print(fake.credit_card_full()) # 完整的信用卡信息
print(fake.credit_card_number()) # 信用卡号
print(fake.credit_card_provider()) # 信用卡类型
print(fake.credit_card_expire()) # 信用卡到期日
print(fake.credit_card_security_code()) # 信用卡安全码

个人信息相关

print('+86' + fake.phone_number())# 电话号
print(fake.password()) # 密码
print(fake.ssn()) # 身份证号
print(fake.date()) # 生日

浏览器user_agent相关

print(fake.chrome()) # chrome浏览器的user_agent信息
print(fake.firefox()) # 火狐浏览器
print(fake.opera()) # opera浏览器
print(fake.safari()) # safari浏览器
print(fake.internet_explorer()) # ie浏览器
print(fake.linux_platform_token()) # 随机生成linux信息
print(fake.user_agent()) # 随机生成user_agent信息

网络基础相关

print(fake.image_url()) # url地址-带路径
print(fake.url()) # url地址-不带路径
print(fake.domain_name()) # 域名
print(fake.domain_word()) # 域词(不包含后缀)
print(fake.tld()) # 域名后缀
print(fake.ipv4()) # ipv4地址
print(fake.ipv6()) # ipv6地址
print(fake.mac_address()) # mac地址
print(fake.uri()) # uri地址
print(fake.uri_page()) # 网址文件-不包含后缀
print(fake.uri_path()) # 网址文件路径-不包含文件名
print(fake.uri_extension()) # 网址文件域名后缀

数字相关

print(fake.numerify()) # 随机三位数字
print(fake.pyint()) # 随机int数字
print(fake.pyfloat()) # 随机float数字
print(fake.pydecimal()) # 随机decimal数字

文本相关

print(fake.null_boolean()) # none,true,false
print(fake.pystr()) # 随机字符串
print(fake.word()) # 随机生成一个词语
print(fake.words()) # 随机生成多个词语,返回的是一个列表
print(fake.paragraph()) # 随机生成一个段落
print(fake.sentence())# 随机生成一句话
print(fake.sentences()) # 随机生成多句话,返回的是一个列表
print(fake.text()) # 随机生成一篇文章
print(fake.texts()) # 随机生成多篇文章

编码相关

print(fake.md5()) # 随机生成md5
print(fake.sha1()) # 随机生成sha1
print(fake.sha256()) # 随机生成sha256
print(fake.uuid4()) # 随机生成uuid
print(fake.binary()) # 随机生成二进制编码

用户名密码

print(fake.user_name()) # 用户名
print(fake.password()) # 密码,随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母

到此这篇关于基于faker生成测试数据的示例代码的文章就介绍到这了,更多相关faker生成测试数据内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

完胜酷睿Ultra 9 285K! 锐龙7 9700X搭配RX 9070 XT游戏实战测试

06-17

Ryzen 5 7600X搭配RX 9070 XT组装游戏机性能如何? 七款游戏测试出炉

06-05

PCIe 3.0对比PCIe 5.0模式下RX 9070 XT性能差距有多大? 游戏测试出炉

06-05

Ryzen 5 5600X+RTX 5070 Ti装机组合性能如何? 七款游戏测试

05-28

RX 9070 XT和RTX 4080 SUPER显卡差别大吗? 4K游戏对比测试

05-28

PyCharm自动化测试的实现

04-14

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论