通过 Python_Faker 生成测试数据


一.介绍

  1. 在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,你不可能通过手工来生成(最傻的方法)可能需要花费大量精力和工作量, Faker 包能够协助你完成这方面的工作。

Faker 是一个 Python 包,开源的 GITHUB 项目,主要用来创建伪数据。

二.安装

  1. 通过 pip 直接安装:
  1. [root@BenLam-vm_0 ~]# pip install faker
  1. 下载源码安装:
  1. [root@BenLam-vm_0 ~]# git clone https://github.com/joke2k/faker
  2. done~
  3. [root@BenLam-vm_0 ~]# cd faker
  4. [root@BenLam-vm_0 ~]# python setup.py install
  5. install done~
  6. [root@BenLam-vm_0 ~]#

三.例子

  1. from faker import Faker
  2. fake=Faker(locale='zh_CN') # 默认为 en_US
  3. # 邮政编码
  4. print("邮政编码".center(20,"-"))
  5. print(fake.postcode()) # 邮编
  6. # 地址类
  7. print("地址类".center(20,"-"))
  8. print(fake.address()) # 湖南省想县沈河阜新街C座 604896
  9. print(fake.street_address()) # 邓路J座
  10. print(fake.street_name()) #马鞍山路
  11. print(fake.city_name(),fake.city()) # 大冶 马鞍山县
  12. print(fake.province()) #贵州省
  13. #公司类:
  14. print("公司类".center(20,"-"))
  15. print(fake.company())#商软冠联科技有限公司
  16. print(fake.company_suffix())#信息有限公司
  17. print(fake.company_prefix())#天开
  18. #个人信息类
  19. print("个人信息类".center(20,"-"))
  20. print(fake.name())#傅淑华
  21. print(fake.simple_profile()) # {'username': 'mengming', 'name': '徐秀云', 'sex': 'M', 'address': '安徽省玉兰县东城乌鲁木齐路w座 117935', 'mail': 'chao09@gmail.com', 'birthdate': datetime.date(1976, 8, 6)}
  22. print(fake.user_name(),fake.password(special_chars=False)) #qiang66 yd7TgJkSvX
  23. #文章类
  24. print("文章类".center(20,"-"))
  25. print(fake.word())#中国
  26. print(fake.words(3))#['北京', '参加', '因为']
  27. print(fake.sentence(3))#而且.
  28. print(fake.paragraph())#人企业学校阅读能够现在其他.以下关于查看

打印结果:

  1. --------邮政编码--------
  2. 621325
  3. --------地址类---------
  4. 海南省燕市朝阳武汉路G 856051
  5. 沈阳路K
  6. 张街
  7. 长沙 佳市
  8. 宁夏回族自治区
  9. --------公司类---------
  10. 凌颖信息信息有限公司
  11. 科技有限公司
  12. 快讯
  13. -------个人信息类--------
  14. 李秀荣
  15. {'username': 'suchao', 'name': '杨帆', 'sex': 'M', 'address': '青海省慧县徐汇济南路w座 991385', 'mail': 'etang@gmail.com', 'birthdate': datetime.date(2001, 1, 8)}
  16. opan 1NFlibRcvO
  17. --------文章类---------
  18. 今天
  19. ['功能', '报告', '密码']
  20. 一个需要.
  21. 那些这是或者.如此全部电子一些起来这里.
  22. [Finished in 0.5s]

四.常用方法

常用方法与中文解释

  1. city_suffix():市,县
  2. country():国家
  3. country_code():国家编码
  4. district():区
  5. geo_coordinate():地理坐标
  6. latitude():地理坐标(纬度)
  7. longitude():地理坐标(经度)
  8. lexify():替换所有问号(“?”)带有随机字母的事件。
  9. numerify():三位随机数字
  10. postcode():邮编
  11. province():省份
  12. street_address():街道地址
  13. street_name():街道名
  14. street_suffix():街、路
  15. random_digit():0~9随机数
  16. random_digit_not_null():1~9的随机数
  17. random_element():随机字母
  18. random_int():随机数字,默认0~9999,可以通过设置min,max来设置
  19. random_letter():随机字母
  20. random_number():随机数字,参数digits设置生成的数字位数
  21. color_name():随机颜色名
  22. hex_color():随机HEX颜色
  23. rgb_color():随机RGB颜色
  24. safe_color_name():随机安全色名
  25. safe_hex_color():随机安全HEX颜色
  26. bs():随机公司服务名
  27. company():随机公司名(长)
  28. company_prefix():随机公司名(短)
  29. company_suffix():公司性质
  30. credit_card_expire():随机信用卡到期日
  31. credit_card_full():生成完整信用卡信息
  32. credit_card_number():信用卡号
  33. credit_card_provider():信用卡类型
  34. credit_card_security_code():信用卡安全码
  35. currency_code():货币编码
  36. am_pm():AM/PM
  37. century():随机世纪
  38. date():随机日期
  39. date_between():随机生成指定范围内日期,参数:start_dateend_date取值:具体日期或者today,-30d,-30y类似
  40. date_between_dates():随机生成指定范围内日期,用法同上
  41. date_object():随机生产从1970-1-1到指定日期的随机日期。
  42. date_this_month():
  43. date_this_year():
  44. date_time():随机生成指定时间(197011日至今)
  45. date_time_ad():生成公元1年到现在的随机时间
  46. date_time_between():用法同
  47. datesfuture_date():未来日期
  48. future_datetime():未来时间
  49. month():随机月份
  50. month_name():随机月份(英文)
  51. past_date():随机生成已经过去的日期
  52. past_datetime():随机生成已经过去的时间
  53. time():随机24小时时间
  54. timedelta():随机获取时间差
  55. time_object():随机24小时时间,time对象
  56. time_series():随机TimeSeries对象
  57. timezone():随机时区
  58. unix_time():随机Unix时间
  59. year():随机年份
  60. file_extension():随机文件扩展名
  61. file_name():随机文件名(包含扩展名,不包含路径)
  62. file_path():随机文件路径(包含文件名,扩展名)
  63. mime_type():随机mime Type
  64. ascii_company_email():随机ASCII公司邮箱名
  65. ascii_email():随机ASCII邮箱
  66. domain_name():生成域名
  67. domain_word():域词(即,不包含后缀)
  68. email():
  69. free_email():
  70. free_email_domain():
  71. f.safe_email():安全邮箱
  72. f.image_url():随机URL地址
  73. ipv4():随机IP4地址
  74. ipv6():随机IP6地址
  75. mac_address():随机MAC地址
  76. tld():网址域名后缀(.com,.net.cn,等等,不包括.)
  77. uri():随机URI地址
  78. uri_extension():网址文件后缀
  79. uri_page():网址文件(不包含后缀)
  80. uri_path():网址文件路径(不包含文件名)
  81. url():随机URL地址
  82. user_name():随机用户名
  83. isbn10():随机ISBN10位)
  84. isbn13():随机ISBN13位)
  85. job():随机职位
  86. paragraph():随机生成一个段落
  87. paragraphs():随机生成多个段落,通过参数nb来控制段落数,返回数组
  88. sentence():随机生成一句话
  89. sentences():随机生成多句话,与段落类似
  90. text():随机生成一篇文章(不要幻想着人工智能了,至今没完全看懂一句话是什么意思)
  91. word():随机生成词语
  92. words():随机生成多个词语,用法与段落,句子,类似
  93. binary():随机生成二进制编码
  94. boolean():True/False
  95. language_code():随机生成两位语言编码
  96. locale():随机生成语言/国际 信息
  97. md5():随机生成MD5
  98. null_boolean():NULL/True/False
  99. password():随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母
  100. sha1():随机
  101. SHA1sha256():随机
  102. SHA256uuid4():随机UUID
  103. first_name():人名
  104. first_name_female():女性名
  105. first_name_male():男性名
  106. first_romanized_name():罗马名
  107. last_name_female():女姓
  108. last_name_male():男姓
  109. name():随机生成全名
  110. name_female():男性全名
  111. name_male():女性全名
  112. romanized_name():罗马名
  113. msisdn():移动台国际用户识别码,即移动用户的ISDN号码
  114. phone_number():随机生成手机号
  115. phonenumber_prefix():随机生成手机号段
  116. profile():随机生成档案信息
  117. simple_profile():随机生成简单档案信息

通过 Python_Faker 生成测试数据的更多相关文章

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

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

  2. Powerdesigner中如何生成测试数据

    设计表完成以后,我们需要生成一些测试数据,可以直接更新到数据库中,下面我们就来试试: 第一步:建立需要的Profiles测试文件,[Model]--[Test Data Profiles],如图所示: ...

  3. SQL Server中生成测试数据

    原文:SQL Server中生成测试数据 简介      在实际的开发过程中.很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试.而生成的测试数据往往需要符合特定规则.虽然可以自己写 ...

  4. 使用Visual Studio给SQL生成测试数据

    参考:http://www.cnblogs.com/CareySon/archive/2012/02/20/2359444.html 使用VS2010的数据生成计划来生成测试数据 以下面两个表来做例子 ...

  5. pt-online-schema-change 测试使用-包含生成测试数据

    pt-online-schema-change 测试使用-包含生成测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 一.简要描 ...

  6. Spark2.2+ES6.4.2(三十一):Spark下生成测试数据,并在Spark环境下使用BulkProcessor将测试数据入库到ES

    Spark下生成2000w测试数据(每条记录150列) 使用spark生成大量数据过程中遇到问题,如果sc.parallelize(fukeData, 64);的记录数特别大比如500w,1000w时 ...

  7. 使用Hypothesis生成测试数据

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

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

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

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

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

随机推荐

  1. Mybatis 和Spring整合之原始dao开发

    F:\Aziliao\mybatis\代码\31.mybatis与spring整合-开发原始dao 1.1. SqlMapConfig.xml <?xml version="1.0&q ...

  2. 【Linux学习笔记】常用命令速记

    创建文件夹:mkdir 文件夹名 删除文件夹 rmdir 文件夹名 进入文件夹 cd 文件夹名 给某个目录所有用户配置读写权限:chmod 777 -R 文件夹名(-R会递归里面所有的子文件夹并给和父 ...

  3. 父窗口和iframe子窗口之间相互传递参数和调用函数或方法

    1.父窗口向子窗口传递参数: 可以在url中添加参数:2.html?a=1&b=2&c=3 然后在子页面上可用js解析,提供一个函数: function getQueryStr(sAr ...

  4. AWS backup

    shadowsocks ssserver -c /etc/shadowsocks/config.json start/stop/reset

  5. admin源码解析及自定义stark组件

    admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...

  6. ssm调用后台oracle存储过程统计分析数据

    笔者所在项目需要一个统计本机构近6月收入情况(分两种).本机构下级机构收入情况的需求,数据量为百万级. 具体需求是时间.机构都不确定,可为入参. 综合考虑后决定使用后台存储过程统计. 基础表结构如下: ...

  7. 确认框,confirm工具封装

    用bootstrap封装了个确认框工具 效果如下 代码如下: /** * 以模态窗做确认框的函数,title为标题栏内容,body为消息体,yesFun为点击确认按钮后执行的函数,执行后会执行关闭并删 ...

  8. MVC进行多文件上传

    用mvc做多文件的上传和保存到本地,大致流程就是,前台通过form表单提交多文件,Controller接受到文件流,将文件流保存到本地 然后将保存地址 存到数据库中. 将文件通过from提交 < ...

  9. detach()之大坑:detach会引起局部变量失效引起线程对内存的非法访问题。

    detach()之大坑:detach会引起局部变量失效引起线程对内存的非法访问题.一:传递临时对象作为线程参数(1.1)要避免的陷阱(解释一)(1.2)要避免的陷阱(解释一)事实一:只要用临时构造的A ...

  10. #leetcode刷题之路7- 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321 示例 3:输入: 120输出: 21 #i ...