Ответ
Да, тестирование REST API — стандартная часть моей работы. Для этого использовал как инструменты вроде Postman, так и отправку запросов непосредственно из кода.
Пример тестирования API на Python с библиотекой requests:
import requests
# 1. Отправка GET-запроса и проверка статуса
response = requests.get('https://api.example.com/users/1')
assert response.status_code == 200, f'Expected 200, got {response.status_code}'
# 2. Проверка структуры и данных JSON-ответа
data = response.json()
assert 'id' in data
assert data['name'] == 'John Doe'
# 3. Отправка POST-запроса с телом
new_user = {'name': 'Alice', 'email': 'alice@example.com'}
post_response = requests.post('https://api.example.com/users', json=new_user)
assert post_response.status_code == 201
Что проверял при тестировании API:
- Коды ответов HTTP: Корректность возвращаемых статусов (200, 201, 400, 404, 500).
- Структура данных: Соответствие ответа ожидаемой JSON-схеме.
- Валидация данных: Корректность значений в ответе (типы данных, граничные значения).
- Обработка ошибок: Информативность сообщений об ошибках при невалидных запросах.
- Заголовки (headers): Наличие и корректность важных заголовков (Content-Type, Cache-Control).
- Цепочки запросов: Сценарии, где выходные данные одного запроса (например,
idсозданного объекта) используются в следующем.