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-09-16 01:30:39 +03:00
parent 70a8d58494
commit 8d53acf896
3 changed files with 62 additions and 20 deletions
@@ -63,6 +63,32 @@
И я закрыл все окна клиентского приложения
Сценарий: Перезапись существующего документа "ИмяДокумента"
Если объект "Документ.[ИмяДокумента]" недоступен по функциональным опциям
Тогда я останавливаю выполнение сценария "Skipped"
Если нет права "Редактирование" к объекту "Документ.[ИмяДокумента]" тогда
Тогда я останавливаю выполнение сценария "Skipped"
Дано я ищу последние 5 документов "ИмяДокумента" по каждой организации в переменную "СписокДокументов"
Если '$СписокДокументов$.Количество() = 0' Тогда
Тогда я останавливаю выполнение сценария "Skipped"
И для каждого значения "СсылкаДокумента" из массива "$СписокДокументов$"
Дано я закрыл все окна клиентского приложения
Тогда я запоминаю значение выражения 'ПолучитьНавигационнуюСсылку($СсылкаДокумента$)' в переменную "НавигационнаяСсылкаДокумента"
Затем я открываю навигационную ссылку "$НавигационнаяСсылкаДокумента$"
Если появилось предупреждение тогда
Тогда я вызываю исключение "Не удалось открыть навигационную ссылку $НавигационнаяСсылкаДокумента$"
И я нажимаю на кнопку "Записать и закрыть"
Если появилось предупреждение тогда
Тогда я вызываю исключение "Не удалось перезаписать документ $НавигационнаяСсылкаДокумента$"
Если в текущем окне есть сообщения пользователю Тогда
Тогда я вызываю исключение с текстом сообщения
И я закрыл все окна клиентского приложения
Сценарий: Перепроведение существующего документа "ИмяДокумента"
Если объект "Документ.[ИмяДокумента]" недоступен по функциональным опциям
Тогда я останавливаю выполнение сценария "Skipped"
@@ -99,6 +125,7 @@
Дано я ищу последние 5 документов "ИмяДокумента" по каждой организации в переменную "СписокДокументов"
Если '$СписокДокументов$.Количество() = 0' Тогда
Тогда я останавливаю выполнение сценария "Skipped"
И для каждого значения "СсылкаДокумента" из массива "$СписокДокументов$"
Дано я закрыл все окна клиентского приложения
@@ -0,0 +1,7 @@
#report.feature=Документ "%ИмяОбъекта%"
Сценарий: Открытие формы нового документа "%ИмяОбъекта%"
Дано Открытие формы нового документа "%ИмяОбъекта%"
#report.feature=Документ "%ИмяОбъекта%"
Сценарий: Перезапись существующего документа "%ИмяОбъекта%"
Дано Перезапись существующего документа "%ИмяОбъекта%"
+28 -20
View File
@@ -830,13 +830,13 @@
для репозиторий из репозиторииДляПроверки
знч файлРезультатовВалидации = "%полныйПутьРезультатовТестов/%{репозиторий.Имя}.tsv"
если не новый Файл(файлРезультатовВалидации).Существует()
продолжить
;
знч ошибкиEDT = ОшибкиEDT(файлРезультатовВалидации)
знч файлCodeQuality = "%полныйПутьРезультатовТестов/codequality/%{репозиторий.Имя}.json"
если не новый Файл(файлCodeQuality).Существует()
продолжить
;
Консоль.Записать("ЗаписатьОшибкиВФорматCodeQuality: %файлCodeQuality %файлРезультатовВалидации")
ЗаписатьОшибкиВФорматCodeQuality(файлCodeQuality, ошибкиEDT)
;
@@ -1305,9 +1305,9 @@
пер имяВетки = CI_COMMIT_BRANCH
если запросНаСлияние != Неопределено
имяВетки = запросНаСлияние.веткаПроекта
// TODO: Сделать проверку на существование ветки
имяВетки = "master"
;
// TODO: Сделать проверку на существование ветки
имяВетки = "master"
знч адресРепозиторияТестов = "https://gitlab-ci-token:%CI_JOB_TOKEN@%CI_SERVER_HOST/%CI_PROJECT_NAMESPACE/%{репозиторийСценарныхТестов
.Имя}.git"
@@ -1768,27 +1768,16 @@
знч CI_PROJECT_PATH = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_PATH")
знч CI_SERVER_HOST = СредаИсполнения.ПолучитьПеременную("CI_SERVER_HOST")
знч настройки = ПрочитатьНастройкиСборки("%CI_PROJECT_DIR")
знч настройкиСборки = ПрочитатьНастройкиСборки("%CI_PROJECT_DIR")
знч запросНаСлияние = ПараметрыЗапросаНаСлияние()
пер имяВетки = CI_COMMIT_BRANCH
если запросНаСлияние != Неопределено
имяВетки = запросНаСлияние.веткаПроекта
// TODO: Сделать проверку на существование ветки
имяВетки = "master"
;
// TODO: Сделать проверку на существование ветки
имяВетки = "master"
для репозиторийСценарныхТестов из настройки.СценарныеТесты
знч адресРепозиторияТестов = "https://gitlab-ci-token:%CI_JOB_TOKEN@%CI_SERVER_HOST/%CI_PROJECT_NAMESPACE/%{репозиторийСценарныхТестов
.Имя}.git"
Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки")
Git_Clone(адресРепозиторияТестов, имяВетки)
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json")
AllureGenerate(настройкиАвтофич)
;
пер списокРезультатовТестов = новый Массив()
пер тестовВсего = 0
@@ -1819,7 +1808,26 @@
;
пер списокФайловСсылок = новый Массив()
списокФайловСсылок.Добавить(новый ОписаниеФайлаСсылкиАссетов("Allure Report: всего %тестовВсего, не прошло %тестовНеПрошло, пропущено %тестовПропущено", "/public/index.html"))
для репозиторийСценарныхТестов из настройкиСборки.СценарныеТесты
знч адресРепозиторияТестов = "https://gitlab-ci-token:%CI_JOB_TOKEN@%CI_SERVER_HOST/%CI_PROJECT_NAMESPACE/%{репозиторийСценарныхТестов
.Имя}.git"
Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки")
Git_Clone(адресРепозиторияТестов, имяВетки)
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json")
AllureGenerate(настройкиАвтофич)
;
если не настройкиСборки.СценарныеТесты.Пусто()
списокФайловСсылок.Добавить(новый ОписаниеФайлаСсылкиАссетов("Allure Report: всего %тестовВсего, не прошло %тестовНеПрошло, пропущено %тестовПропущено", "/public/index.html"))
иначе
пер файлОшибок = Файлы.Создать("%CI_PROJECT_DIR/public/index.html")
исп потокЗаписиДатаНовогоРелиза = файлОшибок.ОткрытьПотокЗаписи()
потокЗаписиДатаНовогоРелиза.Записать("всего %тестовВсего, не прошло %тестовНеПрошло, пропущено %тестовПропущено")
;
знч имяФайлаАссетов = "%ИМЯ_КАТАЛОГА_СЛУЖЕБНОЙ_СБОРКИ/assets_pages.json"
Консоль.Записать("ЗаписатьОписаниеАссетов: %имяФайлаАссетов %CI_PROJECT_PATH %CI_JOB_ID")