Ответ
Для тестирования API на Python чаще всего используются:
pytest— основной фреймворк для организации тестов. Ценится за простоту, фикстуры и мощную параметризацию.requests— стандартная библиотека для отправки HTTP-запросов. Позволяет легко формировать запросы и проверять ответы.pytest-html/pytest-allure— для генерации наглядных отчетов.
Пример теста API с использованием pytest и requests:
import pytest
import requests
# Использование фикстуры pytest для базового URL
@pytest.fixture
def base_url():
return "https://api.example.com"
# Параметризованный тест для проверки разных пользователей
def test_get_user_by_id(base_url):
user_id = 1
response = requests.get(f"{base_url}/users/{user_id}")
assert response.status_code == 200, f"Ожидался код 200, получен {response.status_code}"
user_data = response.json()
assert user_data["id"] == user_id
assert "email" in user_data # Проверка наличия обязательного поля
Для контрактного тестирования и работы со спецификациями может применяться OpenAPI (Swagger) и библиотеки для его валидации.