Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 34 additions & 15 deletions VanessaAutomation/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -2096,7 +2096,7 @@

КонецФункции

Процедура ЗаполитьПараметрыДляAllureTestOps(СтруктураВыгрузки, СтрокаСценария, ДопПараметрыАллюр2)
Процедура ЗаполнитьПараметрыДляAllureTestOps(СтруктураВыгрузки, СтрокаСценария, ДопПараметрыАллюр2)

Если НЕ ДопПараметрыАллюр2.Свойство("КаталогПроекта") Тогда
Возврат;
Expand All @@ -2106,7 +2106,7 @@
Возврат;
КонецЕсли;

Если СтрокаСценария.Тип = "Пример" Тогда
Если НРег(СтрокаСценария.Тип) = "пример" Тогда
ПутьКФиче = СтрокаСценария.Родитель.Родитель.Родитель.ПолныйПуть;
Иначе
ПутьКФиче = СтрокаСценария.ПолныйПуть;
Expand All @@ -2125,28 +2125,47 @@
КонецЕсли;

ОтносительныйКаталогФичи = СокрЛП(Сред(ПутьКФичеУниверсальный, СтрДлина(КаталогПроектаУниверсальный) + 1));

// Формируем fullName: путь + имя сценария + параметры (если они есть)
fullName = ОтносительныйКаталогФичи + "_" + СтруктураВыгрузки.name;

// Добавляем параметры к fullName, если они есть

// добавляем значения параметров примера Структуры сценария в СтруктураВыгрузки.parameters
// и также в завсисимости от типа сценария формируем fullName
Если НРег(СтрокаСценария.Тип) = "пример" Тогда
fullName = ОтносительныйКаталогФичи;
ИменованныеПараметры = СтрокаСценария.Родитель.ИменованныеПараметры;
ЗначенияПараметров = РазложитьСтрокуВМассивПодстрок(СтрокаСценария.Имя, "|", Ложь);
Индекс = 0;
Для Каждого ИмяПараметра из ИменованныеПараметры Цикл
ПараметрПримера = Новый Структура;
ПараметрПримера.Вставить("name", ИмяПараметра.Значение);
ПараметрПримера.Вставить("value", СокрЛП(ЗначенияПараметров[Индекс]));
СтруктураВыгрузки.parameters.Добавить(ПараметрПримера);
Индекс = Индекс + 1;
КонецЦикла;
Иначе
fullName = ОтносительныйКаталогФичи + "_" + НРег(СокрЛП(СтрокаСценария.Имя));
КонецЕсли;

// Добавляем параметры к name, если они есть. fullName оставляем без изменения,
// т.к. на его основании Allure TestOps формирует Allure_ID и определяет к какому тест-кейсу привязывать результат
// структура сценария фактически является одним параметризованным тест-кейсом,
// который выполянется несколько раз с различными значениями параметров
Если СтруктураВыгрузки.Свойство("parameters") И СтруктураВыгрузки.parameters.Количество() > 0 Тогда

МассивЗначенийПараметров = Новый Массив;

Для Каждого Парам Из СтруктураВыгрузки.parameters Цикл
МассивЗначенийПараметров.Добавить(Парам.value);
КонецЦикла;

СтрокаПараметров = "";

Для Каждого Значение Из МассивЗначенийПараметров Цикл
Если СтрокаПараметров <> "" Тогда
СтрокаПараметров = СтрокаПараметров + "_";
КонецЕсли;
СтрокаПараметров = СтрокаПараметров + Строка(Значение);
СтрокаПараметров = СтрокаПараметров + " | " + Строка(Значение);
КонецЦикла;

fullName = fullName + "_" + СтрокаПараметров;
СтруктураВыгрузки.name = СтруктураВыгрузки.name + СтрокаПараметров;

КонецЕсли;

fullName = НРег(fullName);

testCaseId = MD5Хеш(fullName);
Expand Down Expand Up @@ -2250,7 +2269,7 @@
СтрСтроки.ПроизвольныеЗначения = Новый Структура;
КонецЕсли;

ЗаполитьПараметрыДляAllureTestOps(СтруктураВыгрузки, СтрСтроки, ДопПараметрыАллюр2);
ЗаполнитьПараметрыДляAllureTestOps(СтруктураВыгрузки, СтрСтроки, ДопПараметрыАллюр2);

МассивШаговBefore = Новый Массив();
Если СтрСтроки.ДопТип = "СтруктураСценария" Тогда
Expand Down Expand Up @@ -5604,7 +5623,7 @@
КонецЕсли;

ТипыПлагинов = ТипыПлагинов();

))
РазницаВМилисекундахМеждуЮниксИНачалЭпохи = 62135596800000;

КешСтрокаПробелов = Новый Соответствие;
Expand Down