打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
揭秘Python是如何生成伪信息数据的,真的是接口测试的好帮手!

由于博主是做 javaweb 的,平时在做接口测试时可能需要很多模拟数据来测试接口性能。

于是,找到了python 的非标准库faker用来做接口测试,其实大量的伪信息数据在软件应用的开发过程中应用是比较多的。

立即前往微信小程序【知识星球】提问>>>

比如:数据库的性能测试,需要在当前情况下统计十年以后甚至更长时间产生的数据体量的情况下接口性能是否还能达到要求等等。

关于该模块的安装,直接使用pip的方式安装即可。

pip install faker

使用也比较简单,随后将该模块直接导入到当前的代码块中。

from faker import Faker

紧接着初始化Faker对象,然后根据该对象直接获取需要的伪信息。

fk = Faker()

下面直接使用其来生成一组伪信息:名称,伪信息:年龄。

print('姓名:',fk.name())

print('年龄:',fk.random.randint(10,21))

执行完成后的结果如下所示:

# 姓名:David Cook
# 年龄:17

若是需要生成很多组伪信息来做模拟数据使用,则可以使用多次循环等方式来生成,这里以生成50组的伪信息来举例

list_ = []

for n in range(50):
    dict_ = {
        'name': str(fk.name()),
        'age': str(fk.random.randint(10,21)),
        'email': str(fk.email()),
        'ctr':str(fk.country())
    }
    list_.append(dict_)

这里为了使list列表的数据打印出来更容易观察,我是用了pprint模块。

from pprint import pprint

pprint(list_)

下面是生成的50组伪信息数据的结果。

# [{'age': '16',
#   'ctr': 'Eritrea',
#   'email': 'usherman@example.com',
#   'name': 'Ryan Price'},
#  {'age': '13',
#   'ctr': 'Palestinian Territory',
#   'email': 'alex93@example.com',
#   'name': 'Derrick Rodriguez'},
#  {'age': '12',
#   'ctr': 'Solomon Islands',
#   'email': 'charles66@example.com',
#   'name': 'James Santos'},
#  {'age': '16',
#   'ctr': 'Cape Verde',
#   'email': 'ericksonbriana@example.com',
#   'name': 'Stacey Irwin'},
#  {'age': '17',
#   'ctr': 'United States Minor Outlying Islands',
#   'email': 'rebeccaduran@example.net',
#   'name': 'Michelle Clarke'},
#  {'age': '20',
#   'ctr': 'Bosnia and Herzegovina',
#   'email': 'cherylmason@example.com',
#   'name': 'Maureen Cruz'},
#  {'age': '11',
#   'ctr': 'Guinea-Bissau',
#   'email': 'beckysantana@example.org',
#   'name': 'Christopher Guerrero'},
#  {'age': '20',
#   'ctr': 'Dominica',
#   'email': 'francisco13@example.com',
#   'name': 'Jennifer Nunez MD'},
#  {'age': '12',
#   'ctr': 'Ethiopia',
#   'email': 'opeterson@example.org',
#   'name': 'Erin Willis'},
#  {'age': '20',
#   'ctr': 'Timor-Leste',
#   'email': 'pday@example.net',
#   'name': 'Karen Bailey'},
#  {'age': '18',
#   'ctr': 'United States of America',
#   'email': 'gonzaleskayla@example.net',
#   'name': 'Renee Carr'},
#  {'age': '17',
#   'ctr': 'Christmas Island',
#   'email': 'christine08@example.net',
#   'name': 'Amy Hayes'},
#  {'age': '19',
#   'ctr': 'Solomon Islands',
#   'email': 'lisabartlett@example.com',
#   'name': 'Janice Hall'},
#  {'age': '19',
#   'ctr': 'Seychelles',
#   'email': 'margaret90@example.org',
#   'name': 'John Summers'},
#  {'age': '12',
#   'ctr': 'Brazil',
#   'email': 'nwalker@example.org',
#   'name': 'Zachary Williams'},
#  {'age': '11',
#   'ctr': 'Costa Rica',
#   'email': 'udeleon@example.org',
#   'name': 'Michelle Pitts PhD'},
#  {'age': '20',
#   'ctr': 'San Marino',
#   'email': 'whobbs@example.org',
#   'name': 'Ana Williams'},
#  {'age': '18',
#   'ctr': 'Finland',
#   'email': 'kristy69@example.com',
#   'name': 'Jacob Powers'},
#  {'age': '15',
#   'ctr': 'Syrian Arab Republic',
#   'email': 'pbooth@example.org',
#   'name': 'Joshua Jones'},
#  {'age': '17',
#   'ctr': 'Zimbabwe',
#   'email': 'johnsonwilliam@example.com',
#   'name': 'Julie Gray'},
#  {'age': '19',
#   'ctr': 'Trinidad and Tobago',
#   'email': 'gdelgado@example.net',
#   'name': 'Tom Berry'},
#  {'age': '13',
#   'ctr': 'Solomon Islands',
#   'email': 'kimberlycarney@example.com',
#   'name': 'John Smith'},
#  {'age': '11',
#   'ctr': 'Comoros',
#   'email': 'craigmckee@example.org',
#   'name': 'Lisa Holder'},
#  {'age': '13',
#   'ctr': 'United States Minor Outlying Islands',
#   'email': 'kimberly91@example.com',
#   'name': 'Thomas Brewer'},
#  {'age': '16',
#   'ctr': 'Croatia',
#   'email': 'sarah64@example.org',
#   'name': 'Jennifer Hodges'},
#  {'age': '21',
#   'ctr': 'Sudan',
#   'email': 'kathleen93@example.com',
#   'name': 'Susan Hickman'},
#  {'age': '17',
#   'ctr': 'Barbados',
#   'email': 'ytaylor@example.org',
#   'name': 'Elizabeth Miller'},
#  {'age': '17',
#   'ctr': 'Malaysia',
#   'email': 'stephenharvey@example.net',
#   'name': 'Mr. David Bryan'},
#  {'age': '18',
#   'ctr': 'Indonesia',
#   'email': 'jason88@example.com',
#   'name': 'Ryan Evans'},
#  {'age': '20',
#   'ctr': 'Brazil',
#   'email': 'ngarcia@example.com',
#   'name': 'Jason Caldwell'},
#  {'age': '14',
#   'ctr': 'United States Minor Outlying Islands',
#   'email': 'walkerwendy@example.net',
#   'name': 'Allen Lara'},
#  {'age': '20',
#   'ctr': 'Spain',
#   'email': 'richard61@example.org',
#   'name': 'Sean Simon'},
#  {'age': '16',
#   'ctr': 'Jamaica',
#   'email': 'nathanielbishop@example.net',
#   'name': 'Kara Madden'},
#  {'age': '10',
#   'ctr': 'Estonia',
#   'email': 'hraymond@example.com',
#   'name': 'Sarah Wilson'},
#  {'age': '16',
#   'ctr': 'Bahrain',
#   'email': 'perkinsmargaret@example.com',
#   'name': 'Sabrina Banks'},
#  {'age': '11',
#   'ctr': 'Mali',
#   'email': 'fgomez@example.net',
#   'name': 'Janice Vargas'},
#  {'age': '20',
#   'ctr': 'Panama',
#   'email': 'qmedina@example.net',
#   'name': 'Alice Pearson'},
#  {'age': '13',
#   'ctr': 'Lebanon',
#   'email': 'ogay@example.com',
#   'name': 'Alec Rojas'},
#  {'age': '10',
#   'ctr': 'Albania',
#   'email': 'crystal25@example.com',
#   'name': 'Rebecca Gray'},
#  {'age': '18',
#   'ctr': 'Costa Rica',
#   'email': 'hudsonkelly@example.org',
#   'name': 'Kaitlin Martinez'},
#  {'age': '19',
#   'ctr': 'Malta',
#   'email': 'joseph15@example.org',
#   'name': 'Jay Schultz'},
#  {'age': '10',
#   'ctr': 'Czech Republic',
#   'email': 'anna27@example.net',
#   'name': 'Suzanne Zhang'},
#  {'age': '17',
#   'ctr': 'Latvia',
#   'email': 'annamiller@example.net',
#   'name': 'Michelle Christian'},
#  {'age': '13',
#   'ctr': 'Saudi Arabia',
#   'email': 'ericknox@example.org',
#   'name': 'Edward James'},
#  {'age': '21',
#   'ctr': 'Bermuda',
#   'email': 'kathy93@example.org',
#   'name': 'Anthony Banks'},
#  {'age': '17',
#   'ctr': 'Northern Mariana Islands',
#   'email': 'ghill@example.net',
#   'name': 'Kelly Ferrell'},
#  {'age': '12',
#   'ctr': 'Cyprus',
#   'email': 'maryhardy@example.net',
#   'name': 'Ronald Hernandez'},
#  {'age': '19',
#   'ctr': 'Antarctica (the territory South of 60 deg S)',
#   'email': 'oclark@example.com',
#   'name': 'Robert Howard'},
#  {'age': '21',
#   'ctr': 'Liechtenstein',
#   'email': 'murraydavid@example.net',
#   'name': 'Tyler Lynch'},
#  {'age': '12',
#   'ctr': 'Kenya',
#   'email': 'georgewong@example.net',
#   'name': 'Jennifer Jones'}]

通过pprint模块中的pprint接口打印出来的json数据还是很漂亮的,一眼就能看出json数据的结构层级。

「Python 集中营」,只做知识分享 !

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
用ChatGPT生成测试数据
Git修改提交的用户名和Email(转)
邮箱 邮件
强悍的电子邮件地址(email address)正则表达式
Fake伪造数据集
-基本查询,条件查询,重用函数。联合查询。统计分组查询。子查询。集合运算。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服