Ответ
Да, Postman полностью поддерживает отправку XML в теле запроса.
Пошаговая инструкция:
- Выберите метод запроса (например,
POST,PUT). - Введите URL эндпоинта.
- Перейдите на вкладку "Body".
- Выберите опцию
raw. - В выпадающем списке справа от
rawвыберите типXML.- Postman автоматически установит заголовок
Content-Type: application/xml.
- Postman автоматически установит заголовок
- Введите XML-документ в текстовое поле.
Пример XML-запроса для создания пользователя:
<?xml version="1.0" encoding="UTF-8"?>
<userRequest>
<firstName>John</firstName>
<lastName>Doe</lastName>
<email>john.doe@example.com</email>
<roles>
<role>USER</role>
<role>EDITOR</role>
</roles>
</userRequest>
Дополнительные возможности Postman для работы с XML:
- Предварительный запрос (Pre-request Script): Можно динамически генерировать XML.
// Пример генерации простого XML в Pre-request Script const userId = pm.variables.get('tempUserId'); const xmlBody = `<request><id>${userId}</id><action>update</action></request>`; pm.request.body.update({ mode: 'raw', raw: xmlBody, options: { raw: { language: 'xml' } } }); - Тесты (Tests): В скриптах тестов можно парсить и валидировать XML-ответ.
// Проверка структуры XML-ответа const xmlResponse = pm.response.text(); pm.test("Response is valid XML", function() { pm.expect(xmlResponse).to.include("<success>true</success>"); }); - Валидация схемы (XSD): Для продвинутой валидации можно подключить скрипты, проверяющие ответ на соответствие XSD-схеме.
Ключевые моменты для тестирования:
- Убедитесь, что сервер ожидает именно
application/xml, а неtext/xmlилиapplication/x-www-form-urlencoded. - Тестируйте обработку ошибок: отправляйте некорректный XML (невалидный, с нарушением схемы).
- Проверяйте экранирование специальных символов (
<,>,&,",').