Python-利用faker模块生成测试数据

1.前言:

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

2.安装:

pip install faker

3.基本使用:

  1. from faker import Faker
  2. f=Faker(locale='zh_CN') # 为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息
  3. #基本使用举例
  4. f=Faker(locale='zh_CN') # 为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息
  5. print(f.name()) #生成随机人名
  6. print(f.random_digit()) #生成0-9随机数
  7. print(f.random_element())#生成随机字母
  8. print(f.chrome()) #随机生成Chrome的浏览器user_agent信息
  9. print(f.pyset()) #返回随机集合
  10. print(f.pystr()) #返回随机字符串
  11. #生成一个9位长度的随机字符串
  12. def random_str(str_len,count):
  13. str_list = []
  14. for j in range(count):
  15. str1 = ''
  16. for i in range(str_len):
  17. str1 = str1 + f.random_element()
  18. str_list.append(str1)
  19. print(str_list)
  20. if __name__ == '__main__':
  21. random_str(5,3)

4.函数解析

4.1常用函数

  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():用法同dates
  47. future_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. ascii_free_email():
  67. ascii_safe_email():
  68. company_email():
  69. domain_name():生成域名
  70. domain_word():域词(即,不包含后缀)
  71. email():
  72. free_email():
  73. free_email_domain():
  74. f.safe_email():安全邮箱
  75. f.image_url():随机URL地址
  76. ipv4():随机IP4地址
  77. ipv6():随机IP6地址
  78. mac_address():随机MAC地址
  79. tld():网址域名后缀(.com,.net.cn,等等,不包括.)
  80. uri():随机URI地址
  81. uri_extension():网址文件后缀
  82. uri_page():网址文件(不包含后缀)
  83. uri_path():网址文件路径(不包含文件名)
  84. url():随机URL地址
  85. user_name():随机用户名
  86. isbn10():随机ISBN10位)
  87. isbn13():随机ISBN13位)
  88. job():随机职位
  89. paragraph():随机生成一个段落
  90. paragraphs():随机生成多个段落,通过参数nb来控制段落数,返回数组
  91. sentence():随机生成一句话
  92. sentences():随机生成多句话,与段落类似
  93. text():随机生成一篇文章(不要幻想着人工智能了,至今没完全看懂一句话是什么意思)
  94. word():随机生成词语
  95. words():随机生成多个词语,用法与段落,句子,类似
  96. binary():随机生成二进制编码
  97. boolean():True/False
  98. language_code():随机生成两位语言编码
  99. locale():随机生成语言/国际 信息
  100. md5():随机生成MD5
  101. null_boolean():NULL/True/False
  102. password():随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母
  103. sha1():随机SHA1
  104. sha256():随机SHA256
  105. uuid4():随机UUID
  106. first_name():
  107. first_name_female():女性名
  108. first_name_male():男性名
  109. first_romanized_name():罗马名
  110. last_name():
  111. last_name_female():女姓
  112. last_name_male():男姓
  113. last_romanized_name():
  114. name():随机生成全名
  115. name_female():男性全名
  116. name_male():女性全名
  117. romanized_name():罗马名
  118. msisdn():移动台国际用户识别码,即移动用户的ISDN号码
  119. phone_number():随机生成手机号
  120. phonenumber_prefix():随机生成手机号段
  121. profile():随机生成档案信息
  122. simple_profile():随机生成简单档案信息
  123. ###

4.2 随机生成指定类型数据

  1. pybool():布尔类型
  2. pydecimal():数字
  3. pydict():字典
  4. pyfloat():left_digits=5 #生成的整数位数, right_digits=2 #生成的小数位数, positive=True #是否只有正数
  5. pyint():整型
  6. pyiterable():迭代器
  7. pylist():列表
  8. pyset():集合
  9. pystr():字符串
  10. pystruct():结构体
  11. pytuple():元组

4.3 随机生成常用数据

  1. ssn():生成身份证号
  2. chrome():随机生成Chrome的浏览器user_agent信息
  3. firefox():随机生成FireFox的浏览器user_agent信息
  4. internet_explorer():随机生成IE的浏览器user_agent信息
  5. opera():随机生成Opera的浏览器user_agent信息
  6. safari():随机生成Safari的浏览器user_agent信息
  7. linux_platform_token():随机Linux信息
  8. user_agent():随机user_agent信息
  9. ###

5.后话

faker模块很强大,自带的方法很多,很易于使用,这些函数名字很难一下子全记住,但是知道有这个个方法,后面查找起来也方便,上面第四节网上扒拉的方法做个记录,便于后续查找

python-利用faker模块生成测试数据的更多相关文章

  1. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  2. Python 利用pytesser模块识别图像文字

    使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...

  3. 【Python】模块学习之利用string模块造测试数据

    背景 测试过程中需要一些随机数据,使用到了python中的string模块,记录一下 #! /usr/bin/python # coding:utf-8 """ @aut ...

  4. sys模块和os模块,利用sys模块生成进度条

    sys模块import sysprint(sys.argv)#sys.exit(0)             #退出程序,正常退出exit(0)print(sys.version)       #获取 ...

  5. Python使用QRCode模块生成二维码

    QRCode官网https://pypi.python.org/pypi/qrcode/5.1 简介python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode ...

  6. Python利用os模块批量修改文件名

    初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名   renames:可以修改文件名,还可以修改文件上 ...

  7. 利用random模块生成验证码

    random模块 该模块用于数学或者数据相关的领域,使用方法非常简单下面介绍常用的放法 1.随机小数 random.random() 2.随机整数random.randint(1,5) # 大于等于1 ...

  8. Python使用PIL模块生成随机验证码

    PIL模块的安装 pip3 install pillow 生成随机验证码图片 import random from PIL import Image, ImageDraw, ImageFont fro ...

  9. 利用xlrd模块读取excel利用json模块生成相应的json文件的脚本

    excel的格式如下 python代码如下,这里最难的就是合并单元格的处理 import xlrd import json excel_obj = xlrd.open_workbook("t ...

随机推荐

  1. Redis内存分析工具之redis-rdb-tools的安装与使用

    操作系统:Centos7    1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python: 安装: (1)用 wget 下载 python 2.7 并解压( 如果 ...

  2. Typora 图片上传

    Typora 图片上传 本文借鉴源于:https://zhuanlan.zhihu.com/p/137426939 感谢博主分享 引: 不知道你们平时都在哪里做笔记,本人都是在CSDN Java慈祥 ...

  3. Python与Javascript相互调用超详细讲解(2022年1月最新)(三)基本原理Part 3 - 通过C/C++联通

    目录 TL; DR python调javascript javascript调python 原理 基于Node.js的javascript调用python 从Node调用python函数 V8 嵌入P ...

  4. 【刷题-LeetCode】164 Maximum Gap

    Maximum Gap Given an unsorted array, find the maximum difference between the successive elements in ...

  5. ThinkPad S5立体声混响以及语音识别

    smartaudio里面改成语音识别就可以是立体声混响了.但是微软语音识别在国内依然不好用,微软服务在国内太卡了. (联想总是多此一举,各种乱起八糟的软件,给用户造成困难,以前老机子驱动无线网卡锁在L ...

  6. 使用Xamarin开发移动应用示例——数独游戏(一)项目的创建与调试

    最近项目中需要移动客户端,由于团队基本上使用.Net产品线,所以决定使用Xmarin进行开发,这样技术路线统一,便于后期维护.官网上是这样介绍的" Xamarin 允许你使用 .NET 代码 ...

  7. python全局解释器GIL锁(-死锁)

    目录 一:Python中的GIL锁 1.GIL介绍 2.GIL的作用 3.cpython 4.内存管理>>>垃圾回收机制 二:全局解释器锁GIL 1.GIL特点 三:计算密集型与IO ...

  8. linux apache软件安装

    安装提示 Linux下,源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). 过程中用到"configure --prefix=安装 ...

  9. asyncio和aiohttp

    asyncio官网 https://docs.python.org/zh-cn/3/library/asyncio-task.html 下面为伪代码: import aiohttp import as ...

  10. Windows安装软件出现 2502 2503的错误?

    1 输入这个命令 2 3 msiexec /package +"需要安装文件的路径" 4 5 //注意路径的问题 斜杆要保持一致. 6 //注意要有空格. 我的安装路径 7 msi ...