软件测试-造数工具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)。玩家可以通过滑动方向键(上、下、左、右)…

这是一篇学习记录(一) — RPA

犹豫再三要不要记录一下这次的学习历程,说起RPA,可能很多人不了解,那么RPA到底是什么,它有什么用处。 机器人流程自动化 (RPA),又称为软件机器人,是一种利用智能自动化技术来模拟人类执行后台任务的方法。…

静态代码块中使用 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…

15、jenkins

15、jenkins k8s手撕yml方式部署最新版 Jenkins 2.441(jdk-21版)(jenkins-prod) mkdir -p ~/jenkins-prod-ymlkubectl create ns jenkins-prodkubectl label node k8s-node1 jenkins-prodjenkins-prodcat > ~/jenkins-prod-y…

vivado TCL运行编译

用Tcl运行合成 运行合成的Tcl命令是synth_design。通常,此命令与一起运行多个选项,例如: synth_design -part xc7k30tfbg484-2 -top my_top 在本例中,synth_design使用-part选项和-top选项运行。在Tcl控制台中,您可以…

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…

json、jsonlines格式化显示

一、对于vscode暂时没找到合适的方法来格式化 二、利用JetBrains的IDE(例如PyCharm)来格式化(快捷键CtrlAltL) 三、利用jq工具:(速度快,推荐。) # 安装 sudo apt install jq# 使用(假设你已经有一个dev.jsonlines文件) jq . dev.…

数据库删除事务提交之后数据恢复

项目场景: 前几天的遇到的,老大让我删一条数据,不熟悉业务,我看了一下查询的sql语句,发现关联了三个表t1,t2,t3,把第三张表t3填报记录删掉了,又运行了一遍查询sql发现还能搜索到,问…

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 编…

P2SH地址嵌套SegWit脚本

主要分为以下步骤: 创建SegWit脚本:首先,您需要创建一个SegWit脚本,可以是Pay-to-Witness-Public-Key-Hash(P2WPKH)或Pay-to-Witness-Script-Hash(P2WSH)脚本。这些脚本使用新的Seg…

pytest中fixture的使用方法

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

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

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

算法每日一题: Nim游戏 | 找规律

哈哈,大家好,我是星恒,今天的每日一题真开心,连做了3天牢,终于ak了一道,太不容易了 这道题其实就是找规律,刚开始我还以为是动归,但是列举了不少例子之后,发现有自己直接…

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

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