1
0
mirror of https://github.com/DoublesunRUS/devscripts.git synced 2025-07-17 01:12:27 +02:00

Заготовка для инициализации тестов

This commit is contained in:
Капралов Александр
2021-11-08 09:04:59 +03:00
parent 05a51afcf5
commit 6223c39a5c

View File

@ -21,11 +21,14 @@
Консоль.Записать("\нСписок команд:\н")
Консоль.Записать("АвтотестыVA version")
Консоль.Записать("АвтотестыVA -m version")
Консоль.Записать("\тВозвращает текущую версию скрипта")
Консоль.Записать("АвтотестыVA update")
Консоль.Записать("АвтотестыVA -m update")
Консоль.Записать("\тОбновляет скрипт, VanessaAutomation и необходимые шаблоны шагов")
Консоль.Записать("АвтотестыVA -m init")
Консоль.Записать("\тСоздаёт файлы для запуска тестов по выбранному режиму тестирования")
;
метод version()
@ -82,9 +85,9 @@
пер клиентHttp = КлиентHttp.СБазовымUrl("https://api.github.com/")
пер запросGet = клиентHttp.ЗапросGet("/repos/DoublesunRUS/devscripts/contents/VA-Тесты/%имяПапки")
исп ответHttp = запросGet.Выполнить()
пер списокФайлов = СериализацияJson.ПрочитатьОбъект(ответHttp.Тело) как Массив
знч пользовательскаяПапка = СредаИсполнения.ПолучитьСвойство("user.dir")
клиентHttp = КлиентHttp.СБазовымUrl("https://raw.githubusercontent.com/")
@ -102,7 +105,7 @@
ответФайл.Тело.КопироватьВ(потокЗаписи)
потокЗаписи.Закрыть()
;
возврат списокФайлов.Размер()
;
@ -114,8 +117,7 @@
знч новыйUrl = ответHttp.Заголовки.ПолучитьПервый("Location")
знч номерВерсии = новыйUrl.Подстрока(новыйUrl.НайтиСКонца("/") + 1)
знч версияUrl =
"/Pr-Mex/vanessa-automation/releases/download/%номерВерсии/vanessa-automation-single.%номерВерсии.zip"
знч версияUrl = "/Pr-Mex/vanessa-automation/releases/download/%номерВерсии/vanessa-automation-single.%номерВерсии.zip"
запросGet = клиентHttp.ЗапросGet(версияUrl)
исп ответФайл = запросGet.Выполнить()
@ -172,8 +174,8 @@
иначе
расширениеИсполнителя = "sh"
;
знч путьКИсполнителю = СредаИсполнения.ПолучитьСвойство("logback.configurationFile").Удалить("config" + Файлы.СимволРазделителя
+ "logback.xml") + "bin/executor_j11." + расширениеИсполнителя
знч путьКИсполнителю = СредаИсполнения.ПолучитьСвойство("logback.configurationFile").Удалить("config" + Файлы
.СимволРазделителя + "logback.xml") + "bin/executor_j11." + расширениеИсполнителя
пер аргументыПроцессаОс = ["-s", имяФайлаСкрипта, "-m", имяКомандыСкрипта]
если не параметрыСкрипта.Пусто()
@ -277,7 +279,8 @@
пер ДелатьОтчетВФорматеjUnit: Булево = Истина
пер ОтчетJUnit: VAParamsОтчетJUnit
конструктор(КаталогПроекта, КаталогФич, КаталогиБиблиотек, ВыполнениеСценариев, КлиентТестирования, ОтчетAllure, ОтчетJUnit)
конструктор(КаталогПроекта, КаталогФич, КаталогиБиблиотек, ВыполнениеСценариев, КлиентТестирования, ОтчетAllure,
ОтчетJUnit)
;
структура VAParamsВыполнениеСценариев
@ -332,8 +335,7 @@
;
знч массивСтроки = строкаФайла.Разделить("\т", Истина)
если массивСтроки.Размер() != 3
выбросить новый ИсключениеИндексВнеГраниц(
"В каждой строке автофича файла должно быть 3 значения, разделенных табуляцией.")
выбросить новый ИсключениеИндексВнеГраниц("В каждой строке автофича файла должно быть 3 значения, разделенных табуляцией.")
;
знч пользователиАвтофичи = массивСтроки[2].Разделить(",")
@ -347,8 +349,7 @@
возврат автофичи
;
метод СоздатьФайлыФичПоАвтофичам(путьФич: Строка, автофичи: Соответствие, пользователи: Массив, путьШаблонов: Строка,
имяФайлаШаблонаШапки: Строка)
метод СоздатьФайлыФичПоАвтофичам(путьФич: Строка, автофичи: Соответствие, пользователи: Массив, путьШаблонов: Строка, имяФайлаШаблонаШапки: Строка)
если автофичи.Пусто()
возврат
;
@ -415,8 +416,8 @@
.КаталогАвтофич}")
;
СоздатьФайлыФичПоАвтофичам(настройки.НастройкиVA.КаталогФич, автофичи, настройки.НастройкиАвтофич.Пользователи,
настройки.НастройкиАвтофич.КаталогШаблоновШагов, настройки.НастройкиАвтофич.ФайлШаблонаШапки)
СоздатьФайлыФичПоАвтофичам(настройки.НастройкиVA.КаталогФич, автофичи, настройки.НастройкиАвтофич.Пользователи, настройки
.НастройкиАвтофич.КаталогШаблоновШагов, настройки.НастройкиАвтофич.ФайлШаблонаШапки)
;
метод RunTests(имяФайлаНастроек: Строка)
@ -438,8 +439,7 @@
пер временныеИБПользователей = новый Соответствие()
для пользователь из настройки.НастройкиАвтофич.Пользователи
знч временныйКаталогИБ = Файлы.СоздатьВременныйКаталог("Test1CD")
CreateInfobaseFromTemplate(настройки.НастройкиТестовойБазы.ПутьКDT, временныйКаталогИБ.Путь,
исполняемыйФайлПлатформы)
CreateInfobaseFromTemplate(настройки.НастройкиТестовойБазы.ПутьКDT, временныйКаталогИБ.Путь, исполняемыйФайлПлатформы)
временныеИБПользователей.Вставить(пользователь.Представление, временныйКаталогИБ)
;
@ -460,19 +460,18 @@
пер настройкиVAParamsОтчетJUnit = новый VAParamsОтчетJUnit("%{настройки.НастройкиVA.КаталогОтчетов}/junit")
пер настройкиVAParams = новый VAParams(настройки.НастройкиVA.КаталогПроекта, каталогФич, настройки.НастройкиVA
.КаталогиБиблиотек, настройкиVAParamsВыполнениеСценариев, настройкиVAParamsКлиентТестирования, настройкиVAParamsОтчетAllure,
настройкиVAParamsОтчетJUnit)
.КаталогиБиблиотек, настройкиVAParamsВыполнениеСценариев, настройкиVAParamsКлиентТестирования,
настройкиVAParamsОтчетAllure, настройкиVAParamsОтчетJUnit)
знч временныйФайлНастроекVA = Файлы.СоздатьВременныйФайл("VAParams", ".json")
исп потокНастроекVA = временныйФайлНастроекVA.ОткрытьПотокЗаписи()
СериализацияJson.ЗаписатьОбъект(потокНастроекVA, настройкиVAParams)
потокНастроекVA.Закрыть()
знч параметрыVA =
"StartFeaturePlayer;DisableUserSettingsLoader;DisableLoadTestClientsTable;DisableLoadConfig;ClearStepsCache;VAParams=%временныйФайлНастроекVA"
знч параметрыVA = "StartFeaturePlayer;DisableUserSettingsLoader;DisableLoadTestClientsTable;DisableLoadConfig;ClearStepsCache;VAParams=%временныйФайлНастроекVA"
пер командаПлатформы = ExecuteDataProcessorTestManager(настройки.НастройкиVA.ПутьVanessaAutomationSingle, параметрыVA,
временныйКаталогИБ.Путь, исполняемыйФайлПлатформы, настройки.НастройкиТестовойБазы
пер командаПлатформы = ExecuteDataProcessorTestManager(настройки.НастройкиVA.ПутьVanessaAutomationSingle,
параметрыVA, временныйКаталогИБ.Путь, исполняемыйФайлПлатформы, настройки.НастройкиТестовойБазы
.ИмяПользователя, настройки.НастройкиТестовойБазы
.ПарольПользователя)
командыПлатформы.Добавить(командаПлатформы)
@ -498,12 +497,11 @@
исп потокФайлаНастроек = файлНастроек.ОткрытьПотокЧтения()
пер настройкиJson = новый НастройкиЧтенияОбъектовJson()
настройкиJson.ИгнорироватьНеизвестныеСвойства = Истина
пер настройки = СериализацияJson.ПрочитатьОбъект(потокФайлаНастроек, Тип(ОписаниеНастроек),
настройкиJson) как ОписаниеНастроек
пер настройки = СериализацияJson.ПрочитатьОбъект(потокФайлаНастроек, Тип(ОписаниеНастроек), настройкиJson) как ОписаниеНастроек
пер пользователи = новый Массив()
для пользователь из настройки.НастройкиАвтофич.Пользователи
знч описаниеПользователя = новый ОписаниеПользователя(пользователь["ПредставлениеПользователя"],
пользователь["ИмяПользователя"], пользователь["ПарольПользователя"])
знч описаниеПользователя = новый ОписаниеПользователя(пользователь["ПредставлениеПользователя"], пользователь["ИмяПользователя"],
пользователь["ПарольПользователя"])
пользователи.Добавить(описаниеПользователя)
;
настройки.НастройкиАвтофич.Пользователи = пользователи
@ -712,8 +710,8 @@
Консоль.Записать("ИБ успешно создана.")
;
метод ExecuteDataProcessorTestManager(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка,
имяФайлаПлатформы: Строка, имяПользователя: Строка = "", пароль: Строка = ""): ОписаниеКомандыПлатформы
метод ExecuteDataProcessorTestManager(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка, имяФайлаПлатформы: Строка,
имяПользователя: Строка = "", пароль: Строка = ""): ОписаниеКомандыПлатформы
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("ENTERPRISE")
параметрыПроцесса.Добавить("/TestManager")
@ -741,7 +739,8 @@
возврат командаПлатформы
;
метод ВыполнитьКомандуПлатформы(имяКоманды: Строка, параметры: Массив, выводитьОшибки: Булево = Истина): ОписаниеКомандыПлатформы
метод ВыполнитьКомандуПлатформы(имяКоманды: Строка, параметры: Массив, выводитьОшибки: Булево =
Истина): ОписаниеКомандыПлатформы
знч временныйФайлЛогов = Файлы.СоздатьВременныйФайл()
параметры.Добавить("/Out")
@ -774,8 +773,8 @@
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
;
текстОшибки += Строки.Шаблон("\в\нКоманда: $0\в\нПараметры: $1", [командаПлатформы.имяКоманды, Строки.Соединить(
командаПлатформы.параметры, " ")])
текстОшибки += Строки.Шаблон("\в\нКоманда: $0\в\нПараметры: $1", [командаПлатформы.имяКоманды, Строки.Соединить(командаПлатформы
.параметры, " ")])
исп ошибкиВыполненияСкрипта = командаПлатформы.временныйФайлЛогов.ОткрытьПотокЧтения()
текстОшибки += "\в\н" + ошибкиВыполненияСкрипта.ПрочитатьКакТекст(КодировкаПотокаВыводаПлатформы())