|
150 | 150 | Allure.Вставить("ПрикладыватьФайлыXlsxКОтчетуAllure", Истина); |
151 | 151 | Allure.Вставить("ПрикладыватьФайлыMxlСохраненныеВФорматеHTMLКОтчетуAllure", Истина); |
152 | 152 | Allure.Вставить("ПрикладыватьДополнительныеДанныеПриСравненииЗначенияСЭталономAllure", Ложь); |
153 | | - Allure.Вставить("ПодставлятьВОтчетеAllureЗначенияПеременных", Истина); |
| 153 | + Allure.Вставить("ПодставлятьВОтчетеAllureЗначенияПеременных", Истина); |
| 154 | + Allure.Вставить("СписокИсключаемыхПеременныхAllure", Новый Массив); |
154 | 155 | Allure.Вставить("ПрикладыватьКОтчетуAllureДанныеОСостоянииВсехФорм", Ложь); |
155 | 156 | Allure.Вставить("ПрикладыватьКОтчетуAllureДанныеОСетевыхСоединениях", Ложь); |
156 | 157 | Allure.Вставить("ПрикладыватьКОтчетуAllureДанныеОПроцессахОС", Ложь); |
|
1571 | 1572 |
|
1572 | 1573 | КонецПроцедуры |
1573 | 1574 |
|
1574 | | -Функция ПодставитьЗначенияПеременныхВШаг(Знач Стр, ДанныеШага) |
| 1575 | +Функция ПодставитьЗначенияПеременныхВШаг(Знач Стр, ДанныеШага, ПодставлятьЗначения = Истина, СписокИсключений = Неопределено) |
1575 | 1576 |
|
1576 | | - Для Каждого Элем Из ДанныеШага.ПеременныеДляСохраненияВШаг Цикл |
| 1577 | + Если СписокИсключений = Неопределено Тогда |
| 1578 | + СписокИсключений = Новый Массив; |
| 1579 | + КонецЕсли; |
| 1580 | + |
| 1581 | + // Получаем полный список переменных |
| 1582 | + ПеременныеДляПоиска = Новый Массив; |
| 1583 | + Если ДанныеШага.Свойство("ВсеПеременныеШага") Тогда |
| 1584 | + ПеременныеДляПоиска = ДанныеШага.ВсеПеременныеШага; |
| 1585 | + ИначеЕсли ДанныеШага.Свойство("ПеременныеДляСохраненияВШаг") Тогда |
| 1586 | + ПеременныеДляПоиска = ДанныеШага.ПеременныеДляСохраненияВШаг; |
| 1587 | + КонецЕсли; |
| 1588 | + |
| 1589 | + // Обрабатываем переменные в строке |
| 1590 | + Для Каждого Элем Из ПеременныеДляПоиска Цикл |
1577 | 1591 | Если Элем.Тип Тогда |
1578 | 1592 | //Это глобальная переменная |
1579 | 1593 | СпецСимволы = "$$"; |
|
1582 | 1596 | СпецСимволы = "$"; |
1583 | 1597 | КонецЕсли; |
1584 | 1598 |
|
1585 | | - Стр = СтрЗаменить(Стр, СпецСимволы + Элем.Имя + СпецСимволы, Элем.Значение); |
1586 | | - Если ДанныеШага.Свойство("ЕстьПеременныеТаблицыПеременных") И ДанныеШага.ЕстьПеременныеТаблицыПеременных Тогда |
1587 | | - Стр = СтрЗаменить(Стр, "'" + Элем.Имя + "'", "'" + Элем.Значение + "'"); |
1588 | | - Стр = СтрЗаменить(Стр, """" + Элем.Имя + """", """" + Элем.Значение + """"); |
| 1599 | + Если ПодставлятьЗначения И НЕ ПеременнаяВСпискеИсключений(Элем.Имя, СписокИсключений) Тогда |
| 1600 | + Стр = СтрЗаменить(Стр, СпецСимволы + Элем.Имя + СпецСимволы, Строка(Элем.Значение)); |
| 1601 | + Если ДанныеШага.Свойство("ЕстьПеременныеТаблицыПеременных") И ДанныеШага.ЕстьПеременныеТаблицыПеременных Тогда |
| 1602 | + Стр = СтрЗаменить(Стр, "'" + Элем.Имя + "'", "'" + Строка(Элем.Значение) + "'"); |
| 1603 | + Стр = СтрЗаменить(Стр, """" + Элем.Имя + """", """" + Строка(Элем.Значение) + """"); |
| 1604 | + КонецЕсли; |
1589 | 1605 | КонецЕсли; |
1590 | 1606 | КонецЦикла; |
1591 | | - |
1592 | | - Если ДанныеШага.Свойство("ЗначенияИзТаблицыПеременных") Тогда |
| 1607 | + |
| 1608 | + Если ПодставлятьЗначения И ДанныеШага.Свойство("ЗначенияИзТаблицыПеременных") Тогда |
1593 | 1609 | Для Каждого КлючЗначение Из ДанныеШага.ЗначенияИзТаблицыПеременных Цикл |
1594 | | - Стр = СтрЗаменить(Стр, "'" + КлючЗначение.Ключ + "'", "'" + КлючЗначение.Значение + "'"); |
1595 | | - Стр = СтрЗаменить(Стр, """" + КлючЗначение.Ключ + """", """" + КлючЗначение.Значение + """"); |
1596 | | - КонецЦикла; |
1597 | | - КонецЕсли; |
1598 | | - |
| 1610 | + Если НЕ ПеременнаяВСпискеИсключений(КлючЗначение.Ключ, СписокИсключений) Тогда |
| 1611 | + Стр = СтрЗаменить(Стр, "'" + КлючЗначение.Ключ + "'", "'" + Строка(КлючЗначение.Значение) + "'"); |
| 1612 | + Стр = СтрЗаменить(Стр, """" + КлючЗначение.Ключ + """", """" + Строка(КлючЗначение.Значение) + """"); |
| 1613 | + КонецЕсли; |
| 1614 | + КонецЦикла; |
| 1615 | + КонецЕсли; |
| 1616 | + |
1599 | 1617 | Возврат Стр; |
1600 | 1618 |
|
1601 | 1619 | КонецФункции |
1602 | 1620 |
|
| 1621 | +Функция ПеременнаяВСпискеИсключений(ИмяПеременной, СписокИсключений) |
| 1622 | + Для Каждого ЭлементСписка Из СписокИсключений Цикл |
| 1623 | + Если НРег(СокрЛП(ЭлементСписка)) = НРег(СокрЛП(ИмяПеременной)) Тогда |
| 1624 | + Возврат Истина; |
| 1625 | + КонецЕсли; |
| 1626 | + КонецЦикла; |
| 1627 | + Возврат Ложь; |
| 1628 | +КонецФункции |
| 1629 | + |
1603 | 1630 | Функция ВставитьГруппыШагов(СтрокаВыполнения, ДопПараметрыАллюр2, РезультатыПрохождения, МассивШагов) |
1604 | 1631 |
|
1605 | 1632 | ДанныеГруппыШагов = ДопПараметрыАллюр2.ГруппыШагов[СтрокаВыполнения.ИдСтроки]; |
|
1691 | 1718 |
|
1692 | 1719 | Шаг = ПолучитьОписаниеШагаАллюр2(); |
1693 | 1720 | Шаг.name = Строка(РезультатыПрохождения.Имя); |
1694 | | - ПодставитьЗначенияПеременныхВШаг = Ложь; |
1695 | | - Если РезультатыПрохождения.Свойство("ПеременныеДляСохраненияВШаг") Тогда |
1696 | | - ПодставитьЗначенияПеременныхВШаг = Истина; |
1697 | | - Шаг.name = ПодставитьЗначенияПеременныхВШаг(Строка(РезультатыПрохождения.Имя), РезультатыПрохождения); |
1698 | | - КонецЕсли; |
| 1721 | + Если РезультатыПрохождения.Свойство("ПеременныеДляСохраненияВШаг") Тогда |
| 1722 | + |
| 1723 | + ДанныеДляИмени = Новый Структура; |
| 1724 | + |
| 1725 | + МассивПерем = Новый Массив; |
| 1726 | + |
| 1727 | + Для Каждого ПеремШага Из РезультатыПрохождения.ПеременныеДляСохраненияВШаг Цикл |
| 1728 | + Позиция = Найти(Шаг.name, "'" + ПеремШага.Имя + "' в переменную"); |
| 1729 | + Если Позиция = 0 Тогда |
| 1730 | + МассивПерем.Добавить(ПеремШага); |
| 1731 | + КонецЕсли; |
| 1732 | + КонецЦикла; |
| 1733 | + ДанныеДляИмени.Вставить("ПеременныеДляСохраненияВШаг", МассивПерем); |
| 1734 | + |
| 1735 | + Если РезультатыПрохождения.Свойство("ЕстьПеременныеТаблицыПеременных") Тогда |
| 1736 | + ДанныеДляИмени.Вставить("ЕстьПеременныеТаблицыПеременных", РезультатыПрохождения.ЕстьПеременныеТаблицыПеременных); |
| 1737 | + КонецЕсли; |
| 1738 | + Если РезультатыПрохождения.Свойство("ЗначенияИзТаблицыПеременных") Тогда |
| 1739 | + ДанныеДляИмени.Вставить("ЗначенияИзТаблицыПеременных", РезультатыПрохождения.ЗначенияИзТаблицыПеременных); |
| 1740 | + КонецЕсли; |
| 1741 | + |
| 1742 | + Шаг.name = ПодставитьЗначенияПеременныхВШаг(Шаг.name, ДанныеДляИмени, ДопПараметрыАллюр2.ПодставлятьВОтчетеAllureЗначенияПеременных, ДопПараметрыАллюр2.СписокИсключаемыхПеременныхAllure); |
| 1743 | + КонецЕсли; |
| 1744 | + |
1699 | 1745 | Если РезультатыПрохождения.ВремяНачала <> Неопределено Тогда |
1700 | 1746 | Шаг.start = (РезультатыПрохождения.ВремяНачала - РазницаВМилисекундахМеждуЮниксИНачалЭпохи); |
1701 | 1747 | Шаг.stop = (РезультатыПрохождения.ВремяОкончания - РазницаВМилисекундахМеждуЮниксИНачалЭпохи); |
|
1707 | 1753 | Для каждого Элемент Из СтрокаВыполнения.ЗначенияПараметров Цикл |
1708 | 1754 | ИмяПараметра = "Парам" + Счетчик; |
1709 | 1755 | Счетчик = Счетчик + 1; |
1710 | | - Если ПодставитьЗначенияПеременныхВШаг Тогда |
1711 | | - Шаг["parameters"].Добавить(Новый Структура("name, value", ИмяПараметра, |
1712 | | - ПодставитьЗначенияПеременныхВШаг(Элемент.Значение.Значение, РезультатыПрохождения))); |
| 1756 | + Если ТипЗнч(Элемент.Значение) = Тип("Структура") И Элемент.Значение.Свойство("Значение") Тогда |
| 1757 | + ТекстПараметра = Элемент.Значение.Значение; |
| 1758 | + Иначе |
| 1759 | + ТекстПараметра = Элемент.Значение; |
| 1760 | + КонецЕсли; |
| 1761 | + ТекстДляПодстановки = ТекстПараметра; |
| 1762 | + |
| 1763 | + Если ДопПараметрыАллюр2.ПодставлятьВОтчетеAllureЗначенияПеременных Тогда |
| 1764 | + Значение = ПодставитьЗначенияПеременныхВШаг(ТекстДляПодстановки, РезультатыПрохождения, Истина, ДопПараметрыАллюр2.СписокИсключаемыхПеременныхAllure); |
1713 | 1765 | Иначе |
1714 | | - Шаг["parameters"].Добавить(Новый Структура("name, value", |
1715 | | - ИмяПараметра, Элемент.Значение.Значение)); |
| 1766 | + Значение = ТекстПараметра; |
1716 | 1767 | КонецЕсли; |
1717 | 1768 |
|
| 1769 | + Шаг["parameters"].Добавить(Новый Структура("name, value", ИмяПараметра, Значение)); |
1718 | 1770 | КонецЦикла; |
1719 | 1771 |
|
1720 | 1772 | МассивПараметров = Новый Массив(); |
|
1740 | 1792 | Для каждого Колонка Из СтрокиТаблицы.ПараметрыТаблицы Цикл |
1741 | 1793 | НомерКолонки = НомерКолонки + 1; |
1742 | 1794 | СтруктураПараметра = Колонка.Значение; |
1743 | | - Значение = Строка(СтруктураПараметра.Значение); |
1744 | | - Если ПодставитьЗначенияПеременныхВШаг Тогда |
1745 | | - Значение = ПодставитьЗначенияПеременныхВШаг(Значение, РезультатыПрохождения); |
| 1795 | + Если ТипЗнч(СтруктураПараметра) = Тип("Структура") И СтруктураПараметра.Свойство("Значение") Тогда |
| 1796 | + Значение = СтруктураПараметра.Значение; |
| 1797 | + Иначе |
| 1798 | + Значение = СтруктураПараметра; |
1746 | 1799 | КонецЕсли; |
| 1800 | + |
| 1801 | + Если ДопПараметрыАллюр2.ПодставлятьВОтчетеAllureЗначенияПеременных И ТипЗнч(Значение) = Тип("Строка") Тогда |
| 1802 | + Значение = ПодставитьЗначенияПеременныхВШаг(Значение, РезультатыПрохождения, Истина, ДопПараметрыАллюр2.СписокИсключаемыхПеременныхAllure); |
| 1803 | + КонецЕсли; |
| 1804 | + |
1747 | 1805 | СтрокаCSV = СтрокаCSV + ?(НомерКолонки = 1, "", ",") + """" + СтрЗаменить(Значение, """", """""") + """"; |
1748 | 1806 | СтруктураПарамТаблица.Вставить("Кол" + НомерКолонки, Значение); |
1749 | 1807 | КонецЦикла; |
|
1767 | 1825 |
|
1768 | 1826 | ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ВременноеИмяФайла); |
1769 | 1827 | СтруктураФайлаXML = Новый Структура; |
1770 | | - СтруктураФайлаXML.Вставить("РеальноеИмяФайла", Строка(РеальноеИмяФайла)); |
| 1828 | + СтруктураФайлаXML.Вставить("РеальноеИмяФайла", РеальноеИмяФайла); |
1771 | 1829 | СтруктураФайлаXML.Вставить("ФайлXMLДвоичныеДанные", ДвоичныеДанныеФайла); |
1772 | 1830 | МассивXMLОтчетаAllure.Добавить(СтруктураФайлаXML); |
1773 | 1831 | УдалитьФайлы(ВременноеИмяФайла); |
|
2737 | 2795 | ДопПараметрыАллюр2 = Новый Структура; |
2738 | 2796 | ДопПараметрыАллюр2.Вставить("КешИменПриложенныхФайлов", Новый Соответствие); |
2739 | 2797 | ДопПараметрыАллюр2.Вставить("СтрокаДереваПоИдСтроки", СтрокаДереваПоИдСтроки(ДеревоТестовПарам)); |
| 2798 | + ДопПараметрыАллюр2.Вставить("ПодставлятьВОтчетеAllureЗначенияПеременных", СтруктураОФ.ПодставлятьВОтчетеAllureЗначенияПеременных); |
| 2799 | + ДопПараметрыАллюр2.Вставить("СписокИсключаемыхПеременныхAllure", СтруктураОФ.СписокИсключаемыхПеременныхAllure); |
2740 | 2800 | Если СтруктураОФ.Свойство("КаталогПроекта") Тогда |
2741 | 2801 | ДопПараметрыАллюр2.Вставить("КаталогПроекта", СтруктураОФ.КаталогПроекта); |
2742 | 2802 | КонецЕсли; |
|
0 commit comments