1
0
mirror of https://github.com/DoublesunRUS/devscripts.git synced 2026-06-20 01:16:55 +02:00

Запуск автофич из расширений

This commit is contained in:
Капралов Александр
2021-11-03 15:06:03 +03:00
parent de6f030136
commit 05a51afcf5
+30 -25
View File
@@ -1316,6 +1316,7 @@
знч CI_JOB_TOKEN = СредаИсполнения.ПолучитьПеременную("CI_JOB_TOKEN")
знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR")
знч CI_PROJECT_NAMESPACE = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_NAMESPACE")
знч CI_PROJECT_PATH = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_PATH")
знч CI_SERVER_HOST = СредаИсполнения.ПолучитьПеременную("CI_SERVER_HOST")
знч запросНаСлияние = ПараметрыЗапросаНаСлияние()
@@ -1332,7 +1333,12 @@
Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки")
Git_Clone(адресРепозиторияТестов, имяВетки)
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json")
знч имяТекущегоПроекта = CI_PROJECT_PATH.Заменить("%CI_PROJECT_NAMESPACE/", "")
пер каталогПроектаАвтофич = "%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}"
если репозиторийСценарныхТестов.Имя == имяТекущегоПроекта
каталогПроектаАвтофич = "%CI_PROJECT_DIR"
;
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%каталогПроектаАвтофич/auto_features/AFParams.json")
знч полныйПутьПрикладнойСборки = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_ПРИКЛАДНОЙ_СБОРКИ"
знч полныйПутьТестовойСборки = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_ТЕСТОВОЙ_СБОРКИ"
@@ -1414,8 +1420,8 @@
ExecuteCommand(КОМАНДЫ_ОБНОВЛЕНИЯ_БД, строкаСоединения, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза
.ИмяПользователя)
Консоль.Записать("СоздатьФичи: %{репозиторийСценарныхТестов.Имя}")
СоздатьФичи(настройкиСкрипта, настройкиАвтофич, репозиторийСценарныхТестов.Имя)
Консоль.Записать("СоздатьФичи: %каталогПроектаАвтофич")
СоздатьФичи(настройкиСкрипта, настройкиАвтофич, каталогПроектаАвтофич)
Консоль.Записать("Подготовить временные ИБ для тестирования: %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий")
пер временныеИБПользователей = новый Соответствие()
@@ -1435,8 +1441,9 @@
временныеИБПользователей.Вставить(пользователь.Представление, временнаяИБ)
;
Консоль.Записать("ЗапуститьСценарныеТесты: %{репозиторийСценарныхТестов.Имя} %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий")
ЗапуститьСценарныеТесты(настройкиСкрипта, настройкиАвтофич, исполняемыйФайлПлатформы, репозиторийСценарныхТестов.Имя, временныеИБПользователей)
знч каталогРезультатовТестов = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_РЕЗУЛЬТАТОВ_ТЕСТОВ"
Консоль.Записать("ЗапуститьСценарныеТесты: %каталогПроектаАвтофич %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий")
ЗапуститьСценарныеТесты(настройкиСкрипта, настройкиАвтофич, исполняемыйФайлПлатформы, каталогПроектаАвтофич, каталогРезультатовТестов, временныеИБПользователей)
если настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ == ТипыРасположенияИБ.Серверная
Консоль.Записать("Удалить временные серверные ИБ для тестирования")
@@ -1537,29 +1544,21 @@
;
;
метод СоздатьФичи(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, имяРепозитория: Строка)
знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR")
знч каталогПроекта = "%CI_PROJECT_DIR/%имяРепозитория"
знч автофичи = СписокФайловАвтофич("%каталогПроекта/auto_features")
метод СоздатьФичи(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, каталогПроектаАвтофич: Строка)
знч автофичи = СписокФайловАвтофич("%каталогПроектаАвтофич/auto_features")
если автофичи.Пусто()
выбросить новый ИсключениеНедопустимоеСостояние("Нет ни одного файла автофич по пути %каталогПроекта/auto_features")
выбросить новый ИсключениеНедопустимоеСостояние("Нет ни одного файла автофич по пути %каталогПроектаАвтофич/auto_features")
;
СоздатьФайлыФичПоАвтофичам(
"%каталогПроекта/features", автофичи,
"%каталогПроектаАвтофич/features", автофичи,
настройкиАвтофич.Шаблоны.Пользователи, "%{настройкиСкрипта.CI_VA}/templates", настройкиАвтофич.Шаблоны.ФайлШаблонаШапки)
;
метод ЗапуститьСценарныеТесты(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, исполняемыйФайлПлатформы: Строка, имяРепозитория: Строка, временныеИБПользователей: Соответствие)
знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR")
метод ЗапуститьСценарныеТесты(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич,
исполняемыйФайлПлатформы: Строка, каталогПроектаАвтофич: Строка, каталогРезультатовТестов: Строка, временныеИБПользователей: Соответствие)
знч каталогПроекта = "%CI_PROJECT_DIR/%имяРепозитория"
знч полныйПутьРезультатовТестов = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_РЕЗУЛЬТАТОВ_ТЕСТОВ"
знч каталогВыгрузкиAllure = "%полныйПутьРезультатовТестов/allure"
знч каталогВыгрузкиAllure = "%каталогРезультатовТестов/allure"
знч максимальноеВремяОжидания = 300с
@@ -1583,11 +1582,11 @@
ExecuteDataProcessor(имяФайлаVA, "%установкаВнешнейКомпонентыVA;ОтключитьЛогикуНачалаРаботыСистемы", временнаяИБ.строкаСоединения, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза
.ИмяПользователя, "", максимальноеВремяОжидания)
знч каталогФич = "%каталогПроекта/features/%{пользователь.Представление}"
знч каталогФич = "%каталогПроектаАвтофич/features/%{пользователь.Представление}"
знч конечныйПорт = начальныйПорт + диапазонПортов - 1
пер настройкиVAParams = новый VAParams(каталогПроекта, каталогФич, ["%{настройкиСкрипта.CI_VA}/steps"])
пер настройкиVAParams = новый VAParams(каталогПроектаАвтофич, каталогФич, ["%{настройкиСкрипта.CI_VA}/steps"])
знч настройкиVAParamsВыполнениеСценариев = новый VAParamsВыполнениеСценариев()
настройкиVAParams.ВыполнениеСценариев = настройкиVAParamsВыполнениеСценариев
@@ -1662,7 +1661,7 @@
для пользователь из настройкиАвтофич.Шаблоны.Пользователи
пер временнаяИБ = временныеИБПользователей.Получить(пользователь.Представление)
Файлы.Скопировать("%{временнаяИБ.путьСлужебныхФайлов}/junit/junit.xml", "%полныйПутьРезультатовТестов/junit/junit-%индекс.xml")
Файлы.Скопировать("%{временнаяИБ.путьСлужебныхФайлов}/junit/junit.xml", "%каталогРезультатовТестов/junit/junit-%индекс.xml")
индекс += 1
;
;
@@ -1862,8 +1861,14 @@
.Имя}.git"
Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки")
Git_Clone(адресРепозиторияТестов, имяВетки)
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json")
знч имяТекущегоПроекта = CI_PROJECT_PATH.Заменить("%CI_PROJECT_NAMESPACE/", "")
пер каталогПроектаАвтофич = "%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}"
если репозиторийСценарныхТестов.Имя == имяТекущегоПроекта
каталогПроектаАвтофич = "%CI_PROJECT_DIR"
;
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%каталогПроектаАвтофич/auto_features/AFParams.json")
AllureGenerate(настройкиАвтофич)
;