软件测试-造数工具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.mzph.cn/news/669094.shtml

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

相关文章

【经典例子】Java实现2048小游戏(附带源码)

一、游戏回顾 2048游戏是一款数字益智游戏,目标是通过合并相同数字的方块来达到2048这个目标。游戏在一个4x4的方格上进行,每个方格上都有一个数字(初始时为2或4)。玩家可以通过滑动方向键(上、下、左、右)…

静态代码块中使用 ExecutorService 执行多线程会出现什么情况呢?

AQS系列 1、AQS核心原理 2、ReentrantLock 原理及示例 3、CountDownLatch / Semaphore 示例及使用场景 4、BlockingQueue 示例及使用场景 5、静态代码块中使用 ExecutorService 执行多线程会出现什么情况呢? 文章目录 AQS系列一、 一般场景二、static {} 场景三、原…

AD高速板常见问题和过流自锁

可以使用电机减速器来增大电机的扭矩,低速运行的步进电机更要加上减速机 减速电机就是普通电机加上了减速箱,这样便降低了转速增大了扭矩 HDMI布线要求: 如要蛇形使其等长,不要在HDMI的一端绕线。 HDMI走线时两边拉线&#xff0…

忘记 RAG:拥抱Agent设计,让 ChatGPT 更智能更贴近实际

RAG(检索增强生成)设计模式通常用于开发特定数据领域的基于实际情况的ChatGPT。 然而,重点主要是改进检索工具的效率,如嵌入式搜索、混合搜索和微调嵌入,而不是智能搜索。 这篇文章介绍了一种新的方法,灵感…

信创ARM架构QT应用开发环境搭建

Linux ARM架构QT应用开发环境搭建 前言交叉工具链Ubuntu上安装 32 位 ARM 交叉工具链Ubuntu上安装 64 位 ARM 交叉工具链 交叉编译 QT 库下载 QT 源码交叉编译 QT 源码 Qt Creator交叉编译配置配置 Qt Creator Kits创建一个测试项目 小结 前言 有没有碰到过这种情况&#xff1…

layui

基于复杂结构的自定义模版相关介绍 我这里的接口给的格式数据 我这里搜索往返时候要显示成这样的 layui.use([table,form], function(){ var table layui.table; var form layui.form;// 渲染表格 table.render({ elem: #test-table-reload,toolbar: #toolbarDemo, …

【驱动】块设备驱动(四)-块设备驱动层

前言 块设备驱动程序是Liux块子系统中的最底层组件。它们从IO调度程序中获得请求,然后按要求处理这些请求。一个块设备驱动程序可能处理几个块设备。例如,IDE设备驱动程序可以处理几个IDE磁盘,其中的每个都是一个单独的块设备。而且&#xff…

vulnhub靶场之Thales

一.环境搭建 1.靶场描述 Description : Open your eyes and change your perspective includes 2 flags:user.txt and root.txt. Telegram: machineboy141 (for any hint) This works better with VIrtualBox rathe than VMware 2.靶场地址 https://www.vulnhub.com/entry/t…

ensp实验合集(二)

实验6 VLAN划分....................................................................... - 30 - 实验7 路由器调试及常用命令使用........................................ - 42 - 实验8 配置静态路由器............................................................…

GCC编译器的使用以及使用Makefile语法进行操控

Makefile 这里使用的Makefile操控编译器 gcc 常见的组成部分 c: gcc 的一个版本,默认语言设置为 C,而且在链接的时候自动包含标准 C 库。这和 g 一样configure: GCC 源代码树根目录中的一个脚本。用于设置配置值和创建 GCC 编…

pytest中fixture的使用方法

一、pytest中的fixture是什么 为可靠的和可重复执行的测试提供固定的基线(可以理解为测试的固定配置,使不同范围的测试都能够获得统一的配置),fixture提供了区别于传统单元测试(setup/teardown)风格的令人…

2024最新版鸿蒙HarmonyOS开发工具安装使用指南

2024最新版鸿蒙HarmonyOS开发工具安装使用指南 By JacksonML 0. 什么是鸿蒙Harmony OS? 华为鸿蒙系统(HUAWEI Harmony OS),是华为公司在2019年8月9日于东莞举行的华为开发者大会(HDC.2019)上正式发布的分…

蓝桥杯每日一题-----数位dp练习

题目 链接 参考代码 写了两个,一个是很久以前写的,一个是最近刚写的,很久以前写的时候还不会数位dp所以写了比较详细的注释,这两个代码主要是设置了不同的记忆数组,通过这两个代码可以理解记忆数组设置的灵活性。 im…

redis源码之:集群创建与节点通信(1)

一、创建集群与添加节点(meet) 通过redis源码之:redis-cli 集群命令发现,不管是新建cluster集群还是往集群里添加新节点,都是通过meet指令完成,假设有ABCD四个节点,新建集群:redis-…

Vue学习笔记之组件基础

1、组件的定义 一般将 Vue 组件定义在一个单独的 .vue 文件中,称做单文件组件;当然也可以将组件直接定义在js文件中,如下js代码,定义一个组件BlogPost,通过props定义对外暴露属性title,父组件传递title&am…

分享62个节日PPT,总有一款适合您

分享62个节日PPT,总有一款适合您 62个节日PPT下载链接:https://pan.baidu.com/s/1mheNtIvXknGHse44FW7nOw?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

2023年全球软件架构师峰会(ArchSummit上海站):核心内容与学习收获(附大会核心PPT下载)

微服务架构是当今软件架构的主流趋势之一。随着云计算和分布式系统的普及,越来越多的企业开始采用微服务架构来构建他们的应用。微服务架构可以将一个大型的应用拆分成多个小型的服务,每个服务都独立部署、独立运行,并通过轻量级的通信协议进…

非常好看的CSS加载中特效,引用css文件既可用

非常好看的CSS加载中特效 demo效果源码&#xff1a; <!DOCTYPE html5> <head><link rel"stylesheet" type"text/css" href"demo.css"/><link rel"stylesheet" type"text/css" href"loaders.css&…

【Qt解决】QIcon图标不显示以及LNK2019: 无法解析的外部符号问题

一句话解决 qmake重新构建&#xff0c;然后build&#xff0c;然后run 原因剖析 QIcon图标不显示 首先确保 qrc 文件已经添加对应图标文件&#xff0c;但是仍然不显示是因为没有编译新文件 LNK2019: 无法解析的外部符号 明明已经定义的槽函数&#xff0c;还是报这个错&…

开发板有线连主机,主机无线上网,开发板上网

网络配置&#xff1a; 以太网4连接开发板 wlan设置共享 vmwave需要禁用&#xff08;否则占用共享地址192.168.137.1&#xff09; 开发板 /etc/netplan 目录下&#xff1a;xx.yaml 00-installer-config.yaml /etc/resolv.conf route -n ifconfig 可以ping主机 可ping自己…