From 8d53acf8966160ed8a78f1322ea10201157a03d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B0=D0=BF=D1=80=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80?= Date: Thu, 16 Sep 2021 01:30:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20/=20=D0=A0=D0=B0=D0=B7=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=82=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VA-Тесты/steps/Документы.feature | 27 +++++++++++ .../templates/Документы-Создание-Запись.feature | 7 +++ Скрипты/1cicd.sbsl | 48 +++++++++++-------- 3 files changed, 62 insertions(+), 20 deletions(-) create mode 100644 VA-Тесты/templates/Документы-Создание-Запись.feature diff --git a/VA-Тесты/steps/Документы.feature b/VA-Тесты/steps/Документы.feature index 7cc3a8a..2b63b3d 100644 --- a/VA-Тесты/steps/Документы.feature +++ b/VA-Тесты/steps/Документы.feature @@ -63,6 +63,32 @@ И я закрыл все окна клиентского приложения +Сценарий: Перезапись существующего документа "ИмяДокумента" + Если объект "Документ.[ИмяДокумента]" недоступен по функциональным опциям + Тогда я останавливаю выполнение сценария "Skipped" + + Если нет права "Редактирование" к объекту "Документ.[ИмяДокумента]" тогда + Тогда я останавливаю выполнение сценария "Skipped" + + Дано я ищу последние 5 документов "ИмяДокумента" по каждой организации в переменную "СписокДокументов" + Если '$СписокДокументов$.Количество() = 0' Тогда + Тогда я останавливаю выполнение сценария "Skipped" + + И для каждого значения "СсылкаДокумента" из массива "$СписокДокументов$" + Дано я закрыл все окна клиентского приложения + + Тогда я запоминаю значение выражения 'ПолучитьНавигационнуюСсылку($СсылкаДокумента$)' в переменную "НавигационнаяСсылкаДокумента" + Затем я открываю навигационную ссылку "$НавигационнаяСсылкаДокумента$" + Если появилось предупреждение тогда + Тогда я вызываю исключение "Не удалось открыть навигационную ссылку $НавигационнаяСсылкаДокумента$" + И я нажимаю на кнопку "Записать и закрыть" + Если появилось предупреждение тогда + Тогда я вызываю исключение "Не удалось перезаписать документ $НавигационнаяСсылкаДокумента$" + Если в текущем окне есть сообщения пользователю Тогда + Тогда я вызываю исключение с текстом сообщения + + И я закрыл все окна клиентского приложения + Сценарий: Перепроведение существующего документа "ИмяДокумента" Если объект "Документ.[ИмяДокумента]" недоступен по функциональным опциям Тогда я останавливаю выполнение сценария "Skipped" @@ -99,6 +125,7 @@ Дано я ищу последние 5 документов "ИмяДокумента" по каждой организации в переменную "СписокДокументов" Если '$СписокДокументов$.Количество() = 0' Тогда Тогда я останавливаю выполнение сценария "Skipped" + И для каждого значения "СсылкаДокумента" из массива "$СписокДокументов$" Дано я закрыл все окна клиентского приложения diff --git a/VA-Тесты/templates/Документы-Создание-Запись.feature b/VA-Тесты/templates/Документы-Создание-Запись.feature new file mode 100644 index 0000000..9ea1e1c --- /dev/null +++ b/VA-Тесты/templates/Документы-Создание-Запись.feature @@ -0,0 +1,7 @@ +#report.feature=Документ "%ИмяОбъекта%" +Сценарий: Открытие формы нового документа "%ИмяОбъекта%" + Дано Открытие формы нового документа "%ИмяОбъекта%" + +#report.feature=Документ "%ИмяОбъекта%" +Сценарий: Перезапись существующего документа "%ИмяОбъекта%" + Дано Перезапись существующего документа "%ИмяОбъекта%" diff --git a/Скрипты/1cicd.sbsl b/Скрипты/1cicd.sbsl index 6cbc262..51729e1 100644 --- a/Скрипты/1cicd.sbsl +++ b/Скрипты/1cicd.sbsl @@ -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")