При создании тестовых данных автоматизации интерфейса Python предоставляет множество библиотек и инструментов, которые помогут нам создавать различные типы данных. Ниже приведены часто используемые примеры скриптов Python для генерации различных типов тестовых данных.
1. Генерация случайных строк
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))
2. Генерация случайных целых чисел
import random
def generate_random_integer(start=1, end=100):
return random.randint(start, end)
print(generate_random_integer(1, 1000))
3. Генерируйте случайные даты
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'))
4. Генерация случайного времени
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'))
5. Генерируйте случайные адреса электронной почты
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())
6. Создайте случайный IP-адрес.
import random
def generate_random_ip():
return '.'.join(map(str, (random.randint(0, 255) for _ in range(4))))
print(generate_random_ip())
7. Генерация случайного UUID
import uuid
def generate_random_uuid():
return str(uuid.uuid4())
print(generate_random_uuid())
8. Генерация случайных адресов (город, штат, страна)
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())
9. Генерация случайных телефонных номеров
from faker import Faker
fake = Faker()
def generate_random_phone_number():
return fake.phone_number()
print(generate_random_phone_number())
10. Генерация случайных текстовых абзацев
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))
11. Создать случайный URL-адрес
import random
from faker import Faker
fake = Faker()
def generate_random_url():
return fake.url()
print(generate_random_url())
12. Считайте тестовые данные из файла 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())
14. Генерация случайных объектов 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())
15. Случайная генерация 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))
Вот и всёНа сегодня всё,Надеюсь, это поможет всем,Я тоже надеюсь, что всеОставь сообщение, поставь лайк, смотри, пересылайЧетыре любви поддержки。 Увидимся в следующей статье, пока~👋
Вот и все
That‘s all
Еще статьи из серии
Следите за обновлениями