如何做kindle电子书下载网站,建设工程施工合同范文,如何提高网站文章收录,域名是什么意思呢在测试过程中#xff0c;大家应该都遇到过各种各样的数据构造问题。e.g. 构造一批通讯录、构造一批用户三要素(姓名手机号身份证)、构造一批银行卡数据…… 这时候#xff0c;测试数据大多数可能是这样的:
张三, 130 0000 0001
李四, 130 0000 0002
王五, 130 0000 0003
…在测试过程中大家应该都遇到过各种各样的数据构造问题。e.g. 构造一批通讯录、构造一批用户三要素(姓名手机号身份证)、构造一批银行卡数据…… 这时候测试数据大多数可能是这样的:
张三, 130 0000 0001
李四, 130 0000 0002
王五, 130 0000 0003
……
或者就一顿乱敲造出来一批。
你是不是这样做的呢坦白的说之前的小编就是酱紫。
这样的测试数据不仅要自己手动敲还假的不能再假浪费时间、浪费人力、数据价值低……后来想了个办法同步线上数据但是还要加密解密也要挨个库表去找自己想要的数据。
直到有一天小编遇到了Faker可以生成一批各种各样的看起来“像真的一样”的假数据。 如果你想学习自动化测试我这边给你推荐一套视频这个视频可以说是B站播放全网第一的自动化测试教程同时在线人数到达1000人并且还有笔记可以领取及各路大神技术交流798478386
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集实战最新版_哔哩哔哩_bilibili Fake哪些数据
目前Faker库中提供了三大类可以“构造”出的数据官方划分为: Standard Providers、Community Providers、Localized Providers。
Standard Providers
包含了通用信用卡、颜色、职业、日期时间等数据的生成方法。
Community Providers
由一些Community提供的目前包括Web相关、云相关、WiFi、微服务、信用分数据。
Community Providers
根据地区/语言差异本地化提供的一些方法如简体中文下生成的姓名和繁体中文下生成的姓名是不一样的。
fake几条通讯录
for _ in range(3):print(姓名, fake.name(), 手机号, fake.phone_number())#fake 是由Faker创建的对象且指定了中文 姓名王霞 手机号15744918509
姓名李旭 手机号18025187089
姓名郭娟 手机号13196551713
fake一组信用卡数据
print(Card Number:, fake.credit_card_number(card_typeNone))
print(Card Provider, fake.credit_card_provider(card_typeNone))
print(Card Security Code, fake.credit_card_security_code(card_typeNone))
print(Card Expire, fake.credit_card_expire())
#fake 是由Faker创建的对象
Card Number: 2720041566219373
Card Provider: Mastercard
Card Security Code: 215
Card Expire: 07/20
可以用dir(fake)看Faker库都可以fake哪些数据目前Faker支持近300种数据此外还支持自己进行扩展。
怎样fake数据
前面介绍了Faker可以fake的数据下面小编带大家实际操作一遍。
第一步、安装Faker库
pip install Faker
第二步、用安装好的Faker库创建一个Faker对象
from faker import Faker
fake Faker()
第三步、指定语言
fake Faker(zh_CN)
第四步、fake数据
之后用fake对象就可以调用不同的方法生成各种数据了。
扩展Faker
如果这些数据还不够生成数据使用Faker还支持创建自定义的Provider生成数据。
from faker import Faker
from faker.providers import BaseProvider# 创建自定义Provider
class CustomProvider(BaseProvider):def customize_ua(self):return test_Faker_customize_ua# 添加Provider
fake Faker()
fake.add_provider(CustomProvider)
print(fake.customize_ua())
test_Faker_customize_ua
是不是十分简单方便扩展呢。以后常用的数据就可以自己创建Provider用自动化的方法生成了不仅节省了时间复用性也变高了。
写在最后
阅读Faker的源码可以很容易发现Faker实际是维护了一个“数据库”这个“数据库”强大在做了很多Localized的处理和兼容。此外作为一个开源的库Faker的源码是非常值得研究的也是Python新手可以用来练开源项目的利器。
当然缺点也就显而易见它不是那么的智能生成的数据是随机生成数据量也不是那么大。
【GitHub】https://github.com/joke2k/faker
【Docs】https://faker.readthedocs.io/en/master/