Ответ
Тестирование GET-запросов фокусируется на корректности данных, параметрах запроса, кодах ответа и заголовках.
Основные аспекты проверки:
- Позитивные сценарии: Валидация структуры и данных ответа при корректных параметрах.
- Негативные сценарии: Проверка обработки невалидных или отсутствующих параметров, несуществующих ресурсов.
- Параметры запроса: Тестирование фильтрации, пагинации, сортировки через query-параметры.
- Заголовки (Headers): Проверка
Content-Type,Cache-Control, CORS-заголовков. - Производительность: Проверка времени ответа и соблюдения лимитов (rate limiting).
Пример теста на Python с библиотекой requests:
import requests
import pytest
def test_get_user_with_valid_id():
# GET-запрос с параметром
response = requests.get(
'https://api.example.com/users',
params={'id': 1, 'fields': 'name,email'}
)
# Проверки
assert response.status_code == 200
assert response.headers['Content-Type'] == 'application/json'
user_data = response.json()
assert user_data['id'] == 1
assert 'name' in user_data
assert 'email' in user_data
def test_get_user_with_invalid_id():
# Проверка обработки ошибки
response = requests.get('https://api.example.com/users', params={'id': 99999})
assert response.status_code == 404
Инструменты: Postman (для ручного тестирования и коллекций), curl для быстрых проверок, автотесты на Python/pytest для регрессии.