Faker介绍

官方文档:https://faker.readthedocs.io/en/master/

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.

Faker是一个为您生成虚假数据的Python包。无论您是需要引导您的数据库、创建漂亮的XML文档、填充您的持久性以进行压力测试,还是匿名化从生产服务获取的数据,Faker都适合您。

使用前需要知道

这些数据都是伪造出来的,不保证真实性,需要谨慎使用。

安装

pip install Faker

数据返回语言(中文简体、中文繁体、英文...)

Faker中使用locale关键字(可以不指定这个,直接传入位置参数也行)来指定一种或者多种虚假数据的语言

from faker import Faker

# 实例化Faker对象,不指定数据显示语言,默认为en_US:英文
faker_defalut = Faker() # 随机返回一个名字
print(faker_defalut.name()) # Nathan Munoz # 指定中文
faker_CN = Faker(locale='zh_CN')
print(faker_CN.name()) # 萬怡安 # 随机使用locale列表中的某种语言返回数据
fake = Faker(locale=['en_US', 'zh_CN', 'zh_TW'])
print(fake.name()) # 随机返回5条数据
for _ in range(5): # 这里的变量 _,不希望被使用,但是可以被使用,因为我们只要它循环的过程
print(faker_CN.name())

其他语言

PS:每个语言可用的方法可能有所不同移步:https://faker.readthedocs.io/en/master/locales.html

本地文档

在本地目录下执行:python -m faker > docs.txt将在当前目录下生成faker的文档

常用方法

from faker import Faker()

fake_CN = Faker(locale='zh_CN')

# name() 生成姓名
print(faker_CN.name()) # name_female() 女性的名字
print(faker_CN.name_female()) # 严婷 # name_male() 男性的名字
print(faker_CN.name_male()) # 徐成 # phone_number() 手机号码
print(faker_CN.phone_number()) # 13506788385 # ssn() 生成身份证号
print(faker_CN.ssn()) # 37160319971003166X # postcode() 邮政编码
print(faker_CN.postcode()) # 176393 # address() 将生成一个详细地址 及邮编,但是这个地址不一定正确
print(faker_CN.address()) # 辽宁省哈尔滨县长寿杨街F座 418615 # company() 公司名称
print(faker_CN.company()) # 凌云信息有限公司 # credit_card_number() 信用卡卡号
print(faker_CN.credit_card_number()) # 2530679186722860 # date() 获取时间:默认格式 %Y-%m-%d # 2000-08-02
print(faker_CN.date())
# 修改格式
print(faker_CN.date(pattern='%Y-%m-%d %H:%M:%S')) # 2020-04-26 11:52:57 # free_email() 电子邮箱
print(faker_CN.free_email()) # jingyuan@hotmail.com # job() 职业
print(faker_CN.job()) # 情报信息分析人员 # bothify(text, letters)方法
# text关键字参数中:将#号替换成0-9的数字, letters关键字中:将?号替换成中字符串的任意一个子字符 可用于生成订单编号,产品编号类似数据
print(faker_CN.bothify(text='产品编号: ??-########', letters='JD')) # 产品编号: DD-28748630 # ean(length,prefixes) 条形码, length条形码总长-只能是8或者13(默认), prefixes需传递一个元组,如果定义了将随机去元组中某一个字符串并加在生成的条码前
print(faker_CN.ean(length=13, prefixes=('2020', '2018',))) # 2020148459094 # text(max_nb_chars,) 生成一个随机字符串 字符串最大长度默认 200, 最小长度5
print(faker_CN.text())
print(faker_CN.text(max_nb_chars=5)) # 操作浏览. # image_url() 图片连接
print(faker_CN.image_url()) # https://placeimg.com/117/235/any # ipv4_public() IPV4地址
print(faker_CN.ipv4_public()) # 107.85.199.240 # mac_address() mac地址
print(faker_CN.mac_address()) # 19:7b:7b:40:b5:ab # user_agent() 生成用户代理
print(faker_CN.user_agent()) # Opera/8.50.(X11; Linux x86_64; ro-RO) Presto/2.9.168 Version/11.00

完结

这里只列举了一部分,应该能模拟很多测试工作中需要的数据了,如需要补充的可以前往Faker官方文档学习,Python强大之处之一就是有很多开源的库,可以直接拿来使用。

Gitee源码地址:https://gitee.com/zy7y/study_packages.git

Python生成测试数据-Faker(非LOL选手-李相赫)的更多相关文章

  1. 用Python生成测试数据

    转载自:http://blog.csdn.net/caz28/article/details/45972109 有时我们需要大量的数据,一般编个程序生成一堆随机数据,Python很适合文本处理,干这个 ...

  2. python生成excel测试数据

    在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...

  3. Faker——生成测试数据的PHP类库

    工作上用的是TP框架,每次测试功能的时候都要手动添加测试数据,词穷起名总是起一些test1.test2这种low到爆炸的用户名,这让我很难受.稍微翻阅了一些资料,发现laravel有一个生成测试数据的 ...

  4. python-利用faker模块生成测试数据

    Python-利用faker模块生成测试数据 1.前言: Faker模块是一个生成伪数据的第三方模块,他提供了一系列方法,使用非常方便,在做自动化测试时,注册信息,用这个模块生成测试数据就体现了它的好 ...

  5. 通过 Python_Faker 生成测试数据

    通过 Python_Faker 生成测试数据 一.介绍 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,你不可能通过手工来生成(最傻的方法)可能 ...

  6. 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库.它允许编写测试用例时参数化,然后生成使测试失败的简单易懂的测试数据.可以用更少的工作在代码中发现更多的bug. 安装 pip install hyp ...

  7. Python生成随机数组的方法小结

    Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...

  8. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  9. db:seed 更好的生成测试数据

    make:model -m -> 在database/migrations/目录下生成的table表中设置表的字段名和字段类型->在app/目录下对应的模型文件中设置可添加字段 -> ...

随机推荐

  1. CentOS7.7 安装并配置JDK 1.8

    本文介绍如何在CentOS中安装oracleJDK1.8并配置环境变量 1.下载并安装jdk1.8 进入下载页:https://www.oracle.com/technetwork/java/java ...

  2. jmeter察看结果树-响应数据乱码

    打开jmeter下的目录:\bin\jmeter.properties文件,搜索“encoding”关键字,找到如下配置: # The encoding to be used if none is p ...

  3. Re5ilio 5ync:资源神器

    文章目录 #0x0 简单的介绍 #0x1 安装使用 #0x10 下载 #0x11 安装 #0x12 升级pro权限 #0x13 开始添加资源 #0x14 后续 一定要小心哦!! #0x0 简单的介绍 ...

  4. Scala 面向对象(十二):嵌套类

    在Scala中,你几乎可以在任何语法结构中内嵌任何语法结构.如在类中可以再定义一个类,这样的类是嵌套类,其他语法结构也是一样. 嵌套类类似于Java中的内部类. Scala嵌套类的使用1 请编写程序, ...

  5. MYSQL 之 JDBC(六): 增删改查(四)利用反射及JDBC元数据编写通用的查询

    1.先利用SQL进行查询,得到结果集2.利用反射创建实体类的对象:创建Student对象3.获取结果集的列的别名:idCard.studentName4.再获取结果集的每一列的值,结合3得到一个Map ...

  6. Android 高德地图 java.lang.UnsatisfiedlinkError Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lang/String;)

    在Android项目中引用高德地图,程序运行时出现上述问题,如果引用了Map3D的jar包,则需要在引入Jar文件的同时引入so文件,在高德地图的demo中,找到so文件: 然后将其复制到jniLib ...

  7. TIBCO Jasper Report 中显示图片的方式

    最近在做的项目中,需要输出很多报表类文档,于是选择用jasper来帮助完成. 使用jasper studio的版本是 :TIB_js-studiocomm_6.12.2_windows_x86_64. ...

  8. Nginx日志按天切割基本配置说明

    1.声明日志格式 声明log    log位置                log格式; access_log logs/access.log main; 2.定义日志格式(以下为常用的日志格式 可 ...

  9. react中实现可拖动div

    把拖动div功能用react封装成class,在页面直接引入该class即可使用. title为可拖动区域.panel为要实现拖动的容器. 优化了拖动框超出页面范围的情况,也优化了拖动太快时鼠标超出可 ...

  10. JVM调优工具Arthas的使用

    Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱.在线排查问题,无需重启:动态跟踪Java代码:实时监控JVM状态. Arthas 支持JDK6+,支持Linux/Mac/Wind ...