软件测试-造数工具Faker简介

这里的Faker不是英雄联盟的Faker。。。

一、Python Faker 简介

Python Faker 是一个用于生成假数据的Python库。它允许开发者快速创建具有随机特征的虚构数据,这对于测试、填充数据库以及其他需要模拟真实数据的场景非常有用。Python Faker 提供了各种数据类型的生成器,包括姓名、地址、日期、文本等,可以根据需要自定义生成的数据。这个库的目标是使生成假数据变得简单和灵活,以便在开发和测试过程中提高效率

说白了就是造测试数据用的

Faker 可以生成各种类型的数据,如姓名、地址、电子邮件、电话号码等,以及自定义的数据

安装: 你可以使用以下命令通过 pip 安装 Faker

pip install faker

基本使用: 使用 Faker 非常简单。首先,导入库并创建一个 Faker 实例:

from faker import Fakerfake = Faker()

生成假数据: 通过调用 Faker 实例的方法,你可以生成各种类型的假数据。例如:

# 生成姓名
print(fake.name())# 生成地址
print(fake.address())# 生成电子邮件
print(fake.email())

本地化: Faker 支持多种语言和地区的数据生成。你可以在创建 Faker 实例时指定语言:

fake = Faker('zh_CN')  # 使用中文

数据提供者: Faker 提供了丰富的数据提供者,包括人名、地址、日期、电子邮件等。你可以根据需要选择相应的提供者来生成数据。

# 生成日期
print(fake.date_of_birth(minimum_age=18, maximum_age=65))

这只是 Faker 的一部分功能。可以查阅官方文档以获取更多详细信息和使用示例:Faker Documentation

二、测试

示例1,生成人名、地址、日期、电子邮件,代码如下:

# -*- coding: utf-8 -*-
# @Author  : Liqiju
# @Time    : 2024/1/2 21:49
# @File    : test.py
# @Software: PyCharmfrom faker import Fakerfake = Faker('zh_CN')# 生成姓名
print(fake.name())
# 生成地址
print(fake.address())
# 生成电子邮件
print(fake.email())
# 生成日期
print(fake.date_of_birth(minimum_age=18, maximum_age=65))

运行结果:

D:\Python\PycharmProjects\venv6\Scripts\python.exe D:/Python/PycharmProjects/bigdata_report_uat/test.py
李淑珍
黑龙江省桂花市房山王街u座 868182
chaoliu@example.net
1960-09-11

示例2:用Python Faker 生成随机数据写入execl,字段列分别为姓名、地址、电子邮件,先写入100行

代码: 

# -*- coding: utf-8 -*-
# @Author  : Liqiju
# @Time    : 2024/2/5 16:42
# @File    : faker_test.py
# @Software: PyCharm
from faker import Faker
from openpyxl import Workbookdef generate_random_data(num_rows=100):fake = Faker('zh_CN')data = []for _ in range(num_rows):name = fake.name()address = fake.address()email = fake.email()data.append([name, address, email])return datadef write_to_excel(data, filename='random_data.xlsx'):workbook = Workbook()sheet = workbook.active# 设置表头sheet.append(['姓名', '地址', '电子邮件'])# 写入数据for row in data:sheet.append(row)# 保存文件workbook.save(filename)if __name__ == "__main__":# 生成随机数据random_data = generate_random_data()# 写入 Excel 文件write_to_excel(random_data)print("随机数据已成功写入 Excel 文件.")

运行: 

 打开文档看看:

其他场景可自行摸索,官网文档:Faker 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/455062.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu22.04@laptop OpenCV Get Started: 000_hello_opencv

ubuntu22.04laptop OpenCV Get Started: 000_hello_opencv 1. 源由2. Hello OpenCV2.1 C应用Demo2.2 Python应用Demo 3. 参考资料 1. 源由 之前,通过敲门砖已经砸开了OpenCV的大门,接下来是体验下“Hello World!”程序。 2. Hello OpenCV …

第十九讲_HarmonyOS应用页面和自定义组件生命周期

HarmonyOS应用页面和自定义组件生命周期 1. 什么叫页面2. 什么叫自定义组件3. 页面的生命周期4. 自定义组件的生命周期5. 一个页面的生命周期流程 1. 什么叫页面 页面:即HarmonyOS应用的UI页面。 由一个或者多个自定义组件组成Entry装饰的自定义组件为页面的入口组…

《动手学深度学习(PyTorch版)》笔记7.3

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

Vue3自定义PostCss插件

Vue3自定义PostCss插件 插件功能: 实现自动转px为vw功能 1. 创建插件ts文件2. tsconfig.node.json引入插件3. vite.config.ts增加插件配置4. 编写插件内容5. 示例 插件功能: 实现自动转px为vw功能 px 固定单位,不会随着屏幕的变化而变化 vh vw 相对于视口高宽进行控制 1. 创建…

LeetCode541. 反转字符串 II

541. 反转字符串 II 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0…

[UI5 常用控件] 07.SplitApp,SplitContainer

文章目录 前言1. SplitApp1.1 组件结构1.2 Demo1.3 mode属性 2. SplitContainer 前言 本章节记录常用控件SplitApp,SplitContainer。主要功能是在左侧显示Master页面,右侧显示Detail页面。 Master页面和Detail页面可以由多个Page组成,并支持…

BEV感知算法学习

BEV感知算法学习 3D目标检测系列 Mono3D(Monocular 3D Object Detection for Autonomous Driving) 流程: 通过在地平面上假设先验,在3D空间中对具有典型物理尺寸的候选边界框进行采样;然后我们将这些方框投影到图像平面上,从而避…

SpringBoot实战第三天

今天主要完成了: 新增棋子分类 棋子分类列表 获取棋子分类详情 更新棋子分类 更新棋子分类和添加棋子分类_分组校验 新增棋子 新增棋子参数校验 棋子分类列表查询(条件分页) 先给出分类实体类 Data public class Category {private Integer id;//主键IDNot…

Spring- FactoryBean接口中的getObject()方法

目录 一、Spring框架介绍 二、FactoryBean接口是什么 三、getObject()方法如何使用 一、Spring框架介绍 Spring框架是一个轻量级的、非侵入式的Java企业级应用开发框架,以IoC(控制反转)和AOP(面向切面编程)为核心思…

阿里云服务器租用费用_2024年2月最新价格表

2024年2月阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核…

百面嵌入式专栏(技能篇)嵌入式技能树详解

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍嵌入式重点知识。 一、C语言 C语言这一块的高频考点有预处理、关键字、数据类型、指针与内存管理。 预处理有文件包含、宏定义、条件编译,其中最重要的是宏定义,通常考核宏定义的语法、宏替换与函数的区…