前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >常用的生成测试数据的python脚本,用了都说好

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

作者头像
可可的测试小栈
发布2024-11-23 15:03:01
发布2024-11-23 15:03:01
22700
代码可运行
举报
文章被收录于专栏:全栈测试
运行总次数:0
代码可运行

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

一、生成随机字符串

代码语言:javascript
代码运行次数:0
复制
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))

二、生成随机整数

代码语言:javascript
代码运行次数:0
复制
import random  
  
def generate_random_integer(start=1, end=100):  
    return random.randint(start, end)  
  
print(generate_random_integer(1, 1000))

三、生成随机日期

代码语言:javascript
代码运行次数:0
复制
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'))

四、生成随机时间

代码语言:javascript
代码运行次数:0
复制
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'))

五、生成随机电子邮件地址

代码语言:javascript
代码运行次数:0
复制
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地址

代码语言:javascript
代码运行次数:0
复制
import random  
  
def generate_random_ip():  
    return '.'.join(map(str, (random.randint(0, 255) for _ in range(4))))  
  
print(generate_random_ip())

七、生成随机UUID

代码语言:javascript
代码运行次数:0
复制
import uuid  
  
def generate_random_uuid():  
    return str(uuid.uuid4())  
  
print(generate_random_uuid())

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

代码语言:javascript
代码运行次数:0
复制
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())

九、生成随机电话号码

代码语言:javascript
代码运行次数:0
复制
from faker import Faker  
  
fake = Faker()  
  
def generate_random_phone_number():  
    return fake.phone_number()  
  
print(generate_random_phone_number())

十、生成随机文本段落

代码语言:javascript
代码运行次数:0
复制
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

代码语言:javascript
代码运行次数:0
复制
import random  
from faker import Faker  
  
fake = Faker()  
  
def generate_random_url():  
    return fake.url()  
  
print(generate_random_url())

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

代码语言:javascript
代码运行次数:0
复制
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)

十三

生成随机颜色代码

代码语言:javascript
代码运行次数:0
复制
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对象

代码语言:javascript
代码运行次数:0
复制
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地址

代码语言:javascript
代码运行次数:0
复制
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))

以上就是今天的全部内容,希望对大家有所帮助,也希望大家留言、点赞、在看、转发四连爱支持。 咱们下篇文章见,Bye~👋

以上

That‘s all

更多系列文章

敬请期待

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可可的测试小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档