Python生成测试数据-Faker(非LOL选手-李相赫)
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())
其他语言
- ar_EG - Arabic (Egypt)
- ar_PS - Arabic (Palestine)
- ar_SA - Arabic (Saudi Arabia)
- bg_BG - Bulgarian
- bs_BA - Bosnian
- cs_CZ - Czech
- de_DE - German
- dk_DK - Danish
- el_GR - Greek
- en_AU - English (Australia)
- en_CA - English (Canada)
- en_GB - English (Great Britain)
- en_IN - English (India)
- en_NZ - English (New Zealand)
- en_US - English (United States)
- es_ES - Spanish (Spain)
- es_MX - Spanish (Mexico)
- et_EE - Estonian
- fa_IR - Persian (Iran)
- fi_FI - Finnish
- fr_FR - French
- hi_IN - Hindi
- hr_HR - Croatian
- hu_HU - Hungarian
- hy_AM - Armenian
- it_IT - Italian
- ja_JP - Japanese
- ka_GE - Georgian (Georgia)
- ko_KR - Korean
- lt_LT - Lithuanian
- lv_LV - Latvian
- ne_NP - Nepali
- nl_NL - Dutch (Netherlands)
- no_NO - Norwegian
- pl_PL - Polish
- pt_BR - Portuguese (Brazil)
- pt_PT - Portuguese (Portugal)
- ro_RO - Romanian
- ru_RU - Russian
- sl_SI - Slovene
- sv_SE - Swedish
- tr_TR - Turkish
- uk_UA - Ukrainian
- zh_CN - Chinese (China)
- zh_TW - Chinese (Taiwan)
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选手-李相赫)的更多相关文章
- 用Python生成测试数据
转载自:http://blog.csdn.net/caz28/article/details/45972109 有时我们需要大量的数据,一般编个程序生成一堆随机数据,Python很适合文本处理,干这个 ...
- python生成excel测试数据
在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...
- Faker——生成测试数据的PHP类库
工作上用的是TP框架,每次测试功能的时候都要手动添加测试数据,词穷起名总是起一些test1.test2这种low到爆炸的用户名,这让我很难受.稍微翻阅了一些资料,发现laravel有一个生成测试数据的 ...
- python-利用faker模块生成测试数据
Python-利用faker模块生成测试数据 1.前言: Faker模块是一个生成伪数据的第三方模块,他提供了一系列方法,使用非常方便,在做自动化测试时,注册信息,用这个模块生成测试数据就体现了它的好 ...
- 通过 Python_Faker 生成测试数据
通过 Python_Faker 生成测试数据 一.介绍 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,你不可能通过手工来生成(最傻的方法)可能 ...
- 使用Hypothesis生成测试数据
Hypothesis是Python的一个高级测试库.它允许编写测试用例时参数化,然后生成使测试失败的简单易懂的测试数据.可以用更少的工作在代码中发现更多的bug. 安装 pip install hyp ...
- Python生成随机数组的方法小结
Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...
- db:seed 更好的生成测试数据
make:model -m -> 在database/migrations/目录下生成的table表中设置表的字段名和字段类型->在app/目录下对应的模型文件中设置可添加字段 -> ...
随机推荐
- 爬虫06 /scrapy框架
爬虫06 /scrapy框架 目录 爬虫06 /scrapy框架 1. scrapy概述/安装 2. 基本使用 1. 创建工程 2. 数据分析 3. 持久化存储 3. 全栈数据的爬取 4. 五大核心组 ...
- Odoo13之在tree视图左上角添加自定义按钮
前言 首先展示效果图,如下图所示,在资产设备模块tree视图的左上角添加了一个同步资产的按钮. 要完成按钮的添加,分为四步,分别是: 1.编写xml文件,找到相关模型tree视图,并给模型tree视图 ...
- (四)学习了解OrchardCore笔记——将模块的名字添加到程序集的ModuleName
关于如何将模块名添加到程序集的ModuleName说简单吧也简单,说不简单吧也不简单. 简单的原因是代码只有几行,不简单的原因是这些都不是c#,都是MSbuild的代码.这可真难为我了,所以这个地方我 ...
- js 左右切换 局部刷新
//刷新地方的ID,后面ID前必须加空格 $("#gwc").load(location.href + " #gwc");
- Active Directory - Creating Public and Personnel Share Folders via Script
Create and save the following scripts on the DC folder \\Winsever2019\sysvol\pandabusiness.local\scr ...
- Python Ethical Hacking - MAC Address & How to Change(2)
FUNCTIONS Set of instructions to carry out a task. Can take input, and return a result. Make the cod ...
- 题解 洛谷 P1552 【[APIO2012]派遣】
根据题意,我们不难发现忍者之间的关系是树形结构. 发现答案的统计只是在该节点的子树中,因此我们考虑通过树形\(DP\)来解决问题. 从叶子节点开始,从下往上考虑,因为一个节点的最优答案只与他的领导力和 ...
- Windows电脑多个SSH Key管理.md
笔者偏在阿里云,Github,开源中国上均存放一些私有项目代码,因此需要再Windows电脑上配置多个SSH Key 环境 操作系统:windows 7 Git 提示:Git 安装后就可以使用 Git ...
- 最大连续区间(HDU-1540)
HDU1540 线段树最大连续区间. 给定长度为n的数组,m次操作. 操作D,删除给定节点. 操作R,恢复最后一个删除的节点. 操作Q,询问给定节点的最大连续区间 维护三个值,区间的最大左连续区间,最 ...
- 基于jqgrid + ashx + nhibernate的分页
因为我目前运维的是一个webform项目,项目中未用到分页的功能,我百度了很多文章也没有一篇是结合jqgrid + ashx + nhibernate的分页,可能是因为后台要请求ashx的原因,不像m ...