您现在的位置是:首页 > 技术教程 正文

Python Faker库 的使用

admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机)

前言

无论是手工测试还是自动化测试,都会遇到测试数据,有时候创建测试数据时,不知道如何创建真实有效的数据,比如地址,身份证号码,姓名,邮箱等等,今天安静介绍一篇通过python来创建随机数据的一个库Faker。

Faker

faker是属于python的一个第三方库,主要用来创建伪数据,使用Faker可以生成随机数据,只需要调用Faker提供的方法,即可完成数据的生成。

安装: pip install Faker 

源码:GitHub - joke2k/faker: Faker is a Python package that generates fake data for you.

使用方法

faker使用非常简单,只需要导入faker即刻。

复制代码

from faker import Faker fake = Faker(locale='zh_CN') # 设置中文 # 随机名字 print(fake.name()) # 随机地址 print(fake.address()) # 随机身份证 print(fake.ssn(min_age=18, max_age=60)) # 不带参数默认随机生成,携带参数可以控制身份证年龄大小

复制代码

通过执行发现,这里产生的名字,地址,身份证都是随机生成的。当我们在测试过程中不用在费脑筋来想这些了。

你以为Faker只是简单的这些吗?其实不是的,Faker库中有很多随机数据,比如城市名,电话,手机号,邮箱,职位,浏览器伪数据等等等,安静简单的列举下几个

复制代码

from faker import Faker fake = Faker(locale='zh_CN') # 设置中文 # 随机名字 print('名字:'+fake.name()) # 随机地址 print('地址:'+fake.address()) # 随机身份证 print('身份证号码:'+fake.ssn(min_age=18, max_age=60)) # 不带参数默认随机生成,携带参数可以控制身份证年龄大小 # 随机产生工作岗位 print('工作岗位:'+fake.job()) # 随机生成浏览器头user_agent print('浏览器请求头:'+fake.user_agent()) # 产生随机手机号 print('手机号:'+fake.phone_number()) # 随机产生城市名 print('城市名:'+fake.city_name()) # 产生随机email print('邮箱:'+fake.email())

复制代码

通过执行可以清楚的看到,每次生成的数据都是不同的,这样就解决了我们的随机测试数据

Faker支持的其他内容,小伙伴们可以去源码中进行查看。

案例

安静通过聚合数据上找到了一些免费接口,然后通过faker生成随机数据来测试这些接口。接口有身份证查询接口,以及天气预报接口,和手机号查询接口。这里通过requests的库来模拟接口请求。

复制代码

from faker import Faker fake = Faker(locale='zh_CN') # 设置中文 import requests print('-------------------------手机号查询----------------------------------------------') # 产生随机手机号 phone = fake.phone_number() print('手机号:'+phone) # 请求参数 phone_data = { 'phone': phone, 'key':'7d2b9b14adfe392c88b9c431297be543' } # 查询手机号归属地接口地址 phone_url = 'http://apis.juhe.cn/mobile/get' response_phone = requests.post(phone_url, data=phone_data) print(response_phone.json()) print('-------------------------天气预报----------------------------------------------') # 随机产生城市名 city = fake.city_name() print('城市名:'+city) weather_url = 'http://apis.juhe.cn/simpleWeather/query' weather_data = { 'city': city, 'key': '331eab8f3481f37868378fcdc76cb7cd' } response_weather = requests.post(weather_url,data=weather_data) print(response_weather.json()) print('-------------------------身份证查询接口----------------------------------------') # 随机身份证 IDcard = fake.ssn(min_age=18, max_age=60) print('身份证号码:'+IDcard) IDcard_url = 'http://apis.juhe.cn/idcard/index' IDcard_data = { 'cardno': IDcard, 'key': 'f40a75704fac353952a6534a18f9f437', } response_IDcard = requests.post(IDcard_url,data=IDcard_data) print(response_IDcard.json())

复制代码

通过执行后发现,数据每次都是不一样的。接口返回也都成功返回了

总结

安静对本篇文章做个简单的总结,介绍了如何使用faker的方法以及常用的faker生成的随机数据。通过三个小接口的例子介绍如何在接口中进行使用faker。这里的例子只是简单的书写,如果有用到faker的可以先将用到的随机数据进行封装起来,我们使用的时候进行调用就可以了。

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜