生成接口自动化测试数据时,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))以上就是今天的全部内容,希望对大家有所帮助。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取