Ответ
Написание HTTP-запроса включает формирование метода, URL, заголовков и тела. Тестирование — проверку ответа на корректность и соответствие требованиям.
1. Создание запроса (на примере Python с библиотекой requests):
-
GET-запрос (получение данных):
import requests # Запрос с параметрами в URL response = requests.get( 'https://api.example.com/users', params={'id': 1, 'active': 'true'}, # Параметры запроса headers={'User-Agent': 'MyTestApp/1.0'} # Заголовки ) -
POST-запрос (отправка данных):
import requests # Отправка JSON-данных payload = {'name': 'John', 'age': 30} response = requests.post( 'https://api.example.com/users', json=payload, # Библиотека сама установит Content-Type: application/json headers={'Authorization': 'Bearer your_token_here'} )
2. Ключевые аспекты тестирования ответа:
- Статус-код:
assert response.status_code == 200 - Заголовки: Проверка
Content-Type,Cache-Controlи др. - Тело ответа:
data = response.json() assert data['name'] == 'John' # Проверка значения поля assert 'id' in data # Проверка наличия поля assert isinstance(data['items'], list) # Проверка типа данных - Время отклика (Performance):
assert response.elapsed.total_seconds() < 1.0 - Обработка ошибок: Обязательно тестируются негативные сценарии (4xx, 5xx).
# Проверка обработки неверных данных response = requests.post('https://api.example.com/users', json={}) assert response.status_code == 400 # Ожидаем "Bad Request" error_data = response.json() assert 'error' in error_data