Создание xml-файла средствами MS XML в TestComplete

NovaInfo 2, скачать PDF
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 3

Аннотация

В данной статье мы рассмотрим каким образом можно встроенными средствами МS XML в TestComplete создать XML-файл. Зачем это нужно? Например, некоторая программа умеет загружать список продуктов в XML формате. Необходимо проверить правильность загрузки данного списка в этой программе.

Ключевые слова

XML, TESTCOMPLETE, ODT

Текст научной работы

В данной статье мы рассмотрим каким образом можно встроенными средствами МS XML в TestComplete создать XML-файл. Зачем это нужно? Например, некоторая программа умеет загружать список продуктов в XML формате. Необходимо проверить правильность загрузки данного списка в этой программе. Допустим список у нас хранится в ODT. Как это сделать я уже писал в своей статье Основы работы с ODT в TestComplete, поэтому я не буду на этом останавливаться.

Структура класса Item в ODT:

  • Name (Название продукта);
  • Number (Количество);
  • Volume (Объем);
  • Type (Тип).

Элемент типа Array со значениями в ODT:

  • item0: Name: Молоко; Number: 1; Volume: 0.5;
  • item1: Name: Хлеб; Number: 1;
  • item2: Name: Мясо; Volume: 1; Type: Говядина;
  • item3: Name: Рис; Volume: 1;
  • item4: Name: Греча; Volume: 1;
  • item5: Name: Яблоки; Volume: 1.

Для создания XML-файла необходимо прописать следующие строки:

Obj := Sys.OleObject('Msxml2.DOMDocument'); // Инициализируем DOM-объектObj.async := false; // Отключаем асинхронный режимObj.Save('D:/filename.xml'); // Сохраняем файл

Мы научились создавать XML-файл. Это просто. Теперь добавим в него наши данные.

Для начала нужно добавить инструкции XML, которая содержит информацию о версии XML и кодировке данного XML-файла:

Instruction := Obj.CreateProcessingInstruction('xml', 'version="1.0" encoding="utf-8"');Obj.AppendChild(Instruction);

Метод AppendChild предназначен для добавления узла. В дальнейшем мы будем активно использовать данный метод.

Теперь добавим корневой элемент list, для этого воспользуемся методом CreateElement, который создает элемент.

List := Оbj.CreateElement('list');Obj.AppendChild(List);

Следующим шагом добавим список продуктов из ODT:

for i := 0 to Self.Count - 1 do begin  Node := Оbj.CreateElement(Self.Items(i).Value.Name);  List.AppendChild(Node);end;

А также добавим параметры для каждого элемента списка, для этого будем использовать метод SetAttribute:

if Length(Self.Items(i).Value.Number) > 0 then  Node.SetAttribute(Self.Items(i).Value.Number);if Length(Self.Items(i).Value.Volume) > 0 then  Node.SetAttribute(Self.Items(i).Value.Volume);if Length(Self.Items(i).Value.Type) > 0 then  Node.SetAttribute(Self.Items(i).Value.Type);

В завершении объединим все куски кода:

Obj := Sys.OleObject('Msxml2.DOMDocument');Obj.async := false;Instruction := Obj.CreateProcessingInstruction('xml', 'version="1.0" encoding="utf-8"');Obj.AppendChild(Instruction);List := Оbj.CreateElement('list');Obj.AppendChild(List);for i := 0 to Self.Count - 1 do begin  Node := Оbj.CreateElement(Self.Items(i).Value.Name);  if Length(Self.Items(i).Value.Number) > 0 then    Node.SetAttribute(Self.Items(i).Value.Number);  if Length(Self.Items(i).Value.Volume) > 0 then    Node.SetAttribute(Self.Items(i).Value.Volume);  if Length(Self.Items(i).Value.Type) > 0 then    Node.SetAttribute(Self.Items(i).Value.Type);  List.AppendChild(Node);end;Obj.Save('D:/filename.xml');

В итоге должно получиться, что-то вроде этого:

<?xml version="1.0" encoding="utf-8"?><list>  <item number="1" volume="0.5">Молоко</item>  <item number="1">Хлеб</item>  <item volume="1" type="Говядина">Мясо</item>  <item volume="1">Рис</item>  <item volume="1">Греча</item>  <item volume="1">Яблоки</item></list>

Читайте также

Цитировать

Долганов, А.А. Создание xml-файла средствами MS XML в TestComplete / А.А. Долганов. — Текст : электронный // NovaInfo, 2010. — № 2. — URL: https://novainfo.ru/article/157 (дата обращения: 08.06.2023).

Поделиться