Как отправить XML в запросе с помощью Postman?

«Как отправить XML в запросе с помощью Postman?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, Postman полностью поддерживает отправку XML в теле запроса.

Пошаговая инструкция:

  1. Выберите метод запроса (например, POST, PUT).
  2. Введите URL эндпоинта.
  3. Перейдите на вкладку "Body".
  4. Выберите опцию raw.
  5. В выпадающем списке справа от raw выберите тип XML.
    • Postman автоматически установит заголовок Content-Type: application/xml.
  6. Введите 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-схеме.

Ключевые моменты для тестирования:

  1. Убедитесь, что сервер ожидает именно application/xml, а не text/xml или application/x-www-form-urlencoded.
  2. Тестируйте обработку ошибок: отправляйте некорректный XML (невалидный, с нарушением схемы).
  3. Проверяйте экранирование специальных символов (<, >, &, ", ').