利用Faker生成各种随机测试数据

资源来源参考:URL http://testingpai.com/article/1615615023407

Faker

一、faker 安装

pip install faker

二、使用

  • 模块导入

    from faker import Faker

  • 创建实例

    fk = Faker(locale='zh-CN')

    • 参数
      • use_weighting:指定是否尝试使值的频率与真实世界的频率相匹配
      • locale='zh-CN':语言环境,默认的 en_US 语言环境,支持传多个 ['ja_JP','en_US','zh-CN']
  • 常用方法
    • 四要素
      • 姓名
        name = fk.name()
      • 身份证
        id_card = fk.ssn()
      • 手机号
        phone = fk.phone_number()
      • 银行卡(信用卡)
        card = fk.credit_card_number()
    • 个人其他信息
      • 地址(带邮编)
        addr = fk.address()
      • 国家名称
        country = fk.country()

      • city = fk.province()
      • 城市
        city = fk.city()
      • 邮编
        post_code = fk.postcode()
      • 邮箱
        • 个人邮箱
          email = fk.email()
        • 公司邮箱
          company_email = fk.company_email()
      • 公司名称
        company_name = fk.company()
      • 工作岗位
        job = fk.job()
    • 完整个人信息
      • 生成复杂人物信息
        • fk.profile(fields=None, sex=None)
      • 生成简单人物信息
        • fk.simple_profile(sex=None)
    • 随机数
      num = fk.random_int(min=1000,max=9999)
    • 文本类
      • 随机字符串
        str = fk.pystr()
      • 随机生成词语
        word = fk.word()
      • 随机生成多个词语,返回 list
        word_list = fk.words()
      • 随机生成一句话
        sentence = fk.sentence()
      • 随机生成多句话,返回 list
        sentence_list = fk.sentences()
      • 随机生成多个段落,通过参数 nb 来控制段落数,返回 list
        paragraphs_list = fk.paragraphs(nb=2)
      • 随机生成一篇文章
        text = fk.text()
    • 时间类
      • 随机时间

        • 格式:年-月-日 # 范围:从 1970 到当前时间

          date = fk.date()# 范围:当前年份

          date = fk.date_this_year()# 范围:当前月份

          date = fk.date_this_month()

        • 格式:年-月-日 时:分:秒,范围:从 1970 到当前时间 # 范围:从 1970 到当前时间

          date_time = fk.date_time()

      • 随机年/月

        随机年

        year = fk.year()

        随机月

        mouth = fk.mouth()

      • 指定时间范围

        • 格式:年-月-日
          date = fk.date_between(start_date='-1y',end_date='today')
          参数

          • start_date='-1y'
            • -1y:一年前
            • -1m:一个月前
          • end_date='today'
            • today:今天
            • -1y:一年前
            • -1m:一个月前

          注意点

          • 参数传字符串
          • 开始时间必须小于结束时间
        • 格式:年-月-日 时:分:秒
          date_time = fk.date_time_between(start_date='-3y',end_date='-2y')
          参数

          • start_date='-1y'
            • -1y:一年前
            • -1m:一个月前
          • end_date='today'
            • today:今天
            • -1y:一年前
            • -1m:一个月前

          注意点

          • 参数传字符串
          • 开始时间必须小于结束时间
      • 未来时间

        • 格式:年-月-日
          future_data = fk.future_date()
        • 格式:年-月-日 时:分:秒
          future_date_time = fk.future_datetime()

        时区
        time_zone = fk.timezone()

      • 时间戳
        unix_time = fk.unix_time()

    • 网络信息
      • 用户名
        user_name = fk.user_name()
      • 密码
        passwd = fk.password()
    • 浏览器信息(user_agent)
      • fk.firefox():随机生成 Firefox 浏览器 user_agent 信息
      • fk.chrome():随机生成 Chrome 浏览器 user_agent 信息
      • fk.internet_explorer():随机生成 IE 浏览器 user_agent 信息
      • fk.opera():随机生成欧朋浏览器 user_agent 信息
      • fk.safari():随机生成 Safari 浏览器 user_agent 信息
    • 手机信息
      • Android
        android_info = fk.android_platform_token()
      • iOS
        ios_info = fk.ios_platform_token()
    • 操作系统
      • fk.windows_platform_token():windows 信息
      • fk.linux_platform_token():Linux 信息
      • fk.mac_platform_token():MacBook 信息
  • 高级用法
    • 确保随机数据唯一性
      • fk.unique.方法名()
        [fk.unique.name() for i in range(10)]
    • 共享随机数
      • Faker 类有一个类方法(seed),支持给生成器设置参数 Generator.seed(seed)
        from faker import Faker
        class Test:
        def init(self):
        self.fk = Faker(locale='zh-CN')

        def test01(self):
        Faker.seed(1111)
        print(self.fk.name())

        def test02(self):
        Faker.seed(1111)
        print(self.fk.name())

 
posted @ 2022-01-27 16:35  明天有盼望  阅读(195)  评论(0编辑  收藏  举报