Что такое XML?

«Что такое XML?» — вопрос из категории Форматы данных, который задают на 31% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

XML (eXtensible Markup Language) — это язык разметки для хранения и передачи структурированных данных. В отличие от HTML, он не имеет предопределённых тегов, что позволяет создавать собственные структуры.

Основное применение в тестировании:

  • Конфигурационные файлы: Например, pom.xml для Maven или testng.xml для настройки тестовых сьютов.
  • API-запросы и ответы: Используется в SOAP API и иногда в REST (например, в запросах/ответах с типом контента application/xml).
  • Отчёты: Многие инструменты тестирования (например, JUnit, TestNG) генерируют отчёты в формате XML, которые затем можно парсить или преобразовывать.
  • Обмен данными между системами.

Пример XML-документа:

<testResults>
  <testCase id="TC_001">
    <name>Login with valid credentials</name>
    <status>PASSED</status>
    <duration>1.5</duration>
  </testCase>
</testResults>

Для работы с XML в автотестах используются специализированные библиотеки:

  • Java: DOM Parser, SAX Parser, JAXB, Jackson (XmlMapper).
  • Python: xml.etree.ElementTree, lxml.
  • C#: System.Xml пространство имён (XmlDocument, XDocument).

Ключевые особенности для QA: читаемость, строгий синтаксис (валидация через XSD/DTD), поддержка иерархии, независимость от платформы.