news 2026/4/29 2:20:13

常用的生成测试数据的python脚本,用了都说好

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用的生成测试数据的python脚本,用了都说好

生成接口自动化测试数据时,Python提供了丰富的库和工具来帮助我们创建各种类型的数据, 以下是常用的Python脚本示例,用于生成不同类型的测试数据。

一 生成随机字符串

import random import string def generate_random_string(length=10): return ''.join(random.choices(string.ascii_letters + string.digits, k=length)) print(generate_random_string(15))

二 生成随机整数

import random def generate_random_integer(start=1, end=100): return random.randint(start, end) print(generate_random_integer(1, 1000))

三 生成随机日期

from datetime import datetime, timedelta import random def generate_random_date(start_date=None, end_date=None): if start_date is None: start_date = datetime(2000, 1, 1) if end_date is None: end_date = datetime.now() delta = end_date - start_date int_delta = (delta.days * 24 * 60 * 60) + delta.seconds random_second = random.randrange(int_delta) return start_date + timedelta(seconds=random_second) print(generate_random_date().strftime('%Y-%m-%d'))

四 生成随机时间

from datetime import time, timedelta import random def generate_random_time(): hours = random.randint(0, 23) minutes = random.randint(0, 59) seconds = random.randint(0, 59) return time(hours, minutes, seconds) print(generate_random_time().strftime('%H:%M:%S'))

五 生成随机电子邮件地址

import random import string def generate_random_email(): local_part = ''.join(random.choices(string.ascii_letters + string.digits + '_', k=8)) domain = ''.join(random.choices(string.ascii_letters, k=4)) + '.com' return f"{local_part}@{domain}" print(generate_random_email())

六 生成随机IP地址

import random def generate_random_ip(): return '.'.join(map(str, (random.randint(0, 255) for _ in range(4)))) print(generate_random_ip())

七 生成随机UUID

import uuid def generate_random_uuid(): return str(uuid.uuid4()) print(generate_random_uuid())

八 生成随机地址(城市、州、国家)

import random from faker import Faker fake = Faker() def generate_random_address(): return { 'city': fake.city(), 'state': fake.state(), 'country': fake.country() } print(generate_random_address())

九 生成随机电话号码

from faker import Faker fake = Faker() def generate_random_phone_number(): return fake.phone_number() print(generate_random_phone_number())

十 生成随机文本段落

from faker import Faker fake = Faker() def generate_random_text(nb_sentences=3): return fake.text(nb_sentences=nb_sentences) print(generate_random_text(5))

十一 生成随机URL

import random from faker import Faker fake = Faker() def generate_random_url(): return fake.url() print(generate_random_url())

十二 从CSV文件读取测试数据

import csv def read_test_data_from_csv(file_path): test_data = [] with open(file_path, mode='r') as file: reader = csv.DictReader(file) for row in reader: test_data.append(row) return test_data data = read_test_data_from_csv('test_data.csv') # 读取CSV文件中的测试数据 for row in data: print(row)

十三 生成随机颜色代码

import random def generate_random_color(): return "#{:02X}{:02X}{:02X}".format(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) print(generate_random_color())

十四 生成随机JSON对象

import json import random import string def generate_random_json(): data = { 'key1': random.choice(string.ascii_letters) + str(random.randint(0, 9)), 'key2': random.uniform(1.0, 100.0), 'key3': [random.randint(0, 100) for _ in range(5)], 'key4': { 'subkey1': random.choice([True, False]), 'subkey2': generate_random_string(10) } } return json.dumps(data) print(generate_random_json())

十五 随机生成MAC地址

import random def generate_random_mac(): mac = [0x00, 0x1A, 0x2B, random.randint(0x00, 0xff), random.randint(0x00, 0xff), random.randint(0x00, 0xff)] return ':'.join(map(lambda x: format(x, '02x'), mac))

以上就是今天的全部内容,希望对大家有所帮助。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 17:36:55

技术选型避坑指南:三步法精准定位最佳解决方案

技术选型避坑指南:三步法精准定位最佳解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在数字化转型加速的今天,技术选…

作者头像 李华
网站建设 2026/4/26 21:14:48

3大突破!边缘智能视觉系统的端侧部署与优化实践

3大突破!边缘智能视觉系统的端侧部署与优化实践 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 嵌入式设备AI落地面临三大核心难题:算力资源受限导致复杂模型无法运…

作者头像 李华
网站建设 2026/4/18 3:49:16

终极Qinglong版本管理指南:3大场景实现零风险环境切换

终极Qinglong版本管理指南:3大场景实现零风险环境切换 【免费下载链接】qinglong 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript) …

作者头像 李华
网站建设 2026/4/22 9:43:38

3个颠覆级工具让中医药AI模型落地成本直降90%

3个颠覆级工具让中医药AI模型落地成本直降90% 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。 项目地址…

作者头像 李华