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

news2024/11/24 14:44:25

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

一、Python Faker 简介

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

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

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

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

pip install faker

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

from faker import Faker

fake = 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: PyCharm

from faker import Faker

fake = 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 Workbook

def 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 data

def 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.coloradmin.cn/o/1436407.html

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

相关文章

93.网游逆向分析与插件开发-游戏窗口化助手-升级经验数据获取的逆向分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:显示游戏数据到小助手UI 码云地址(游戏窗口化助手 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:852c339f5e4c103390b123e0eaed…

知识管理平台有哪些?帮助企业高效发展

在现代商业环境中,知识被认为是推动企业高效发展的关键因素。一个有效的知识管理平台可以帮助企业收集、整理和分享知识,从而提高工作效率,增强竞争优势。接下来,我将向大家推荐三款优秀的知识管理平台:Helplook&#…

JavaEE企业级应用软件开发—Spring框架入门学习笔记(一)

一、认识框架 实际开发中,随着业务的发展,软件系统变得越来越复杂,如果所有的软件都从底层功能开始开发,那将是一个漫长而繁琐的过程。此外,团队协作开发时,由于没有统一的调用规范,系统会出现大…

财报一片大好,为什么硅谷巨头还要裁员?

乘着人工智能的东风,科技巨头再度“碾压”美股,谷歌母公司Alphabet、微软、苹果、亚马逊和Meta四季度业绩均超过华尔街预期。分析师预计,英伟达新一季的的盈利增幅将达到400%,其股价已连续三天创下新高。 但在财报一片大好的同时…

【C语言 - 哈希表 - 力扣 - 相交链表】

相交链表题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意&#xff0…

92.网游逆向分析与插件开发-游戏窗口化助手-显示游戏数据到小助手UI

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏窗口化助手的UI设计-CSDN博客 码云地址(游戏窗口化助手 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:e8116af3a7b0186adba…

gdb或者asan生成的coredump文件显示的错误行号和实际的不匹配问题

原因: 是^M这个东西引起的,vim看的时候会少一行多一个^M,但是windos看的时候没有^M,但是会多一行,所以生成的core文件显示的行号和vim看到的不匹配,几个^M就多几行,但是和windos下看文本的行号一…

六轴机器人奇异点

1 奇异点说明 有着6个自由度的KUKA机器人具有3个不同的奇点位置。即便在给定状态和步骤顺序的情况下,也无法通过逆向变换(将笛卡尔坐标转换成极坐标值)得出唯一数值时,即可认为是一个奇点位置。这种情况下,或者当最小的笛卡尔变化也能导致非常大的轴角度变化时,即为奇点位置…

vue3+echarts:Vue中使用echarts从后端获取数据并赋值显示

//由于前后端交互,所以使用axios发送请求 const Count ref(null); //设备种类数值 const Name ref(null); //设备种类名称 //设备种类 饼图 const pieChart () > {const getpieChart echarts.init(document.getElementById("deviceKind"));// 创建图标getpieC…

如何使用Docker部署DashDot服务器仪表盘并结合cpolar实现公网访问

📑前言 本文主要是使用Docker部署DashDot服务器仪表盘并结合cpolar实现公网访问的文章,如果有什么需要改进的地方还请大佬指出⛺️** 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风…

Leetcode—60. 排列序列【困难】

2024每日刷题&#xff08;113&#xff09; Leetcode—60. 排列序列 算法思想 实现代码 class Solution { public:string getPermutation(int n, int k) {vector<int> nums(n);// f[i] i!vector<int> f(n 1, 1); string ans;iota(nums.begin(), nums.end(), 1…

一文带你了解量子计算的力量

作为技术人员&#xff0c;我们知道有有四项技术一直在进行着巨大的进步——区块链、人工智能、物联网和量子计算机。本文中&#xff0c;我们将讨论量子计算机&#xff0c;包括它的含义&#xff0c;如何工作&#xff0c;它们将如何使用等。 什么是量子计算机&#xff1f; 量子计…

蓝桥杯Web应用开发-浮动与定位

浮动与定位 浮动布局比较灵活&#xff0c;不易控制&#xff0c;而定位可以控制元素的过分灵活性&#xff0c;给元素一个具体的空间和精确的位置。 浮动 我们使用 float 属性指定元素沿其容器的左侧或右侧放置&#xff0c;浮动布局常见取值如下&#xff1a; • left&#xff0…

2023:AI疯狂进化年

嘿&#xff0c;大家好&#xff01;让我们一起来回顾一下这疯狂的 2023 年吧&#xff01;记得那个二月初吗&#xff1f;ChatGPT 上线了&#xff0c;然后呢&#xff1f;短短两个月&#xff0c;用户数量就像火箭一样突破了 1 亿&#xff01;这速度&#xff0c;简直比超级赛亚人还快…

谷歌seo搜索引擎优化教程有吗?

教程&#xff0c;教学&#xff0c;指南&#xff0c;这些东西哪里都有&#xff0c;尤其是关于seo相关方面的&#xff0c;这些可以说到处都是&#xff0c;能把谷歌seo这个关键词做上去的&#xff0c;可以说就是实力的证明了&#xff0c;在这里我们说一个无论是老手还是新手都应该…

(五)elasticsearch 源码之查询流程分析

https://www.cnblogs.com/darcy-yuan/p/17039526.html 1.概述 上文我们讨论了es&#xff08;elasticsearch&#xff0c;下同&#xff09;索引流程&#xff0c;本文讨论es查询流程&#xff0c;以下是基本流程图 2.查询流程 为了方便调试代码&#xff0c;笔者在电脑上启动了了…

通义千问上线春节新应用,AI帮你免费拍全家福

2月5日&#xff0c;春节将至年味渐浓&#xff0c;阿里云通义千问APP上线多项免费新应用&#xff0c;涵盖全家福、拜新年、万物成龙等图像生成的新玩法&#xff0c;共提供超300套照片模板&#xff0c;用户上传照片即可生成全家福、团圆照、拜年照、千里江山主题照&#xff1b;此…

引用大佬讲座谈 2100万日活FPS手游怎样做优化?百元机稳定30帧、适配98%机型

大型手机游戏对不同手机机型的适配&#xff0c;始终是贯穿手游发展过程的挑战。尤其在前几年&#xff0c;高配置的智能机还没有普及开的时候&#xff0c;产品优化是研发环节的重中之重。而作为对于网络状况、数据传输和服务器架构等有着极高要求的游戏品类&#xff0c;FPS更是优…

Javaweb之SpringBootWeb案例之 登录功能的详细解析

1. 登录功能 1.1 需求 在登录界面中&#xff0c;我们可以输入用户的用户名以及密码&#xff0c;然后点击 "登录" 按钮就要请求服务器&#xff0c;服务端判断用户输入的用户名或者密码是否正确。如果正确&#xff0c;则返回成功结果&#xff0c;前端跳转至系统首页面…

重学Java 13.面向对象.1

在熟悉的事物中循环 ——24.2.7 一、static关键字 1.static关键字的介绍以及基本使用 1.概述&#xff1a;static是一个静态关键字 2.使用&#xff1a; a.修饰一个成员变量&#xff1a; static 数据类型 变量名 b.修饰一个方法&#xff1a; 修饰符 static 返回值类型 方法名&am…