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

Автотесты VA

This commit is contained in:
Капралов Александр
2021-10-29 14:40:00 +03:00
parent 386bdd3fe1
commit d23bddbcb5

View File

@ -39,7 +39,16 @@
Консоль.Записать("\т- скачивание новой версии")
пер временныйСкрипт = СкачатьНовуюВерсиюСкрипта()
пер версияНовогоСкрипта = ВерсияНовогоСкрипта(временныйСкрипт)
Консоль.Записать("\т- Новая версия скрипта %версияНовогоСкрипта")
если версияНовогоСкрипта != ВЕРСИЯ
Консоль.Записать("\т- новая версия скрипта %версияНовогоСкрипта")
пер файлТекущегоСкрипта = ФайлТекущегоСкрипта()
Файлы.Скопировать(временныйСкрипт, файлТекущегоСкрипта)
Консоль.Записать("\т- перезапуск обновления")
исп потокВывода = ВыполнитьСкрипт(файлТекущегоСкрипта.Путь, "update", [])
возврат
;
Консоль.Записать("\т- скрипт не требует обновления")
;
метод СкачатьНовуюВерсиюСкрипта(): Файл
@ -66,8 +75,8 @@
иначе
расширениеИсполнителя = "sh"
;
знч путьКИсполнителю = СредаИсполнения.ПолучитьСвойство("logback.configurationFile").Удалить("config" + Файлы.СимволРазделителя
+ "logback.xml") + "bin/executor_j11." + расширениеИсполнителя
знч путьКИсполнителю = СредаИсполнения.ПолучитьСвойство("logback.configurationFile").Удалить("config" + Файлы
.СимволРазделителя + "logback.xml") + "bin/executor_j11." + расширениеИсполнителя
пер аргументыПроцессаОс = ["-s", имяФайлаСкрипта, "-m", имяКомандыСкрипта]
если не параметрыСкрипта.Пусто()
@ -88,9 +97,17 @@
возврат библиотека.ПотокВывода
;
метод ФайлТекущегоСкрипта(): Файл
знч командаТекущегоСкрипта = СредаИсполнения.ПолучитьСвойство("sun.java.command")
пер имяФайлаТекущегоСкрипта = командаТекущегоСкрипта.Подстрока(0, командаТекущегоСкрипта.Найти(".sbsl") + 5)
имяФайлаТекущегоСкрипта = имяФайлаТекущегоСкрипта.Подстрока(имяФайлаТекущегоСкрипта.Найти(" ") + 1)
имяФайлаТекущегоСкрипта = имяФайлаТекущегоСкрипта.Подстрока(имяФайлаТекущегоСкрипта.Найти(" ") + 1)
возврат новый Файл(имяФайлаТекущегоСкрипта)
;
метод ВерсияНовогоСкрипта(файлСкрипта: Файл): Строка
исп потокВывода = ВыполнитьСкрипт(файлСкрипта.Путь, "version", [])
знч строкаВерсии = потокВывода.ПрочитатьКакСтроку()
знч строкаВерсии = потокВывода.ПрочитатьКакСтроку(КодировкаПотокаВыводаСкриптов())
если не строкаВерсии.НачинаетсяС("Версия:")
знч текстОшибки = "При запуске новой версии скрипта получено сообщение:\н%строкаВерсии"
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
@ -163,7 +180,8 @@
пер ДелатьОтчетВФорматеjUnit: Булево = Истина
пер ОтчетJUnit: VAParamsОтчетJUnit
конструктор(КаталогПроекта, КаталогФич, КаталогиБиблиотек, ВыполнениеСценариев, КлиентТестирования, ОтчетAllure, ОтчетJUnit)
конструктор(КаталогПроекта, КаталогФич, КаталогиБиблиотек, ВыполнениеСценариев, КлиентТестирования, ОтчетAllure,
ОтчетJUnit)
;
структура VAParamsВыполнениеСценариев
@ -218,8 +236,7 @@
;
знч массивСтроки = строкаФайла.Разделить("\т", Истина)
если массивСтроки.Размер() != 3
выбросить новый ИсключениеИндексВнеГраниц(
"В каждой строке автофича файла должно быть 3 значения, разделенных табуляцией.")
выбросить новый ИсключениеИндексВнеГраниц("В каждой строке автофича файла должно быть 3 значения, разделенных табуляцией.")
;
знч пользователиАвтофичи = массивСтроки[2].Разделить(",")
@ -233,8 +250,7 @@
возврат автофичи
;
метод СоздатьФайлыФичПоАвтофичам(путьФич: Строка, автофичи: Соответствие, пользователи: Массив, путьШаблонов: Строка,
имяФайлаШаблонаШапки: Строка)
метод СоздатьФайлыФичПоАвтофичам(путьФич: Строка, автофичи: Соответствие, пользователи: Массив, путьШаблонов: Строка, имяФайлаШаблонаШапки: Строка)
если автофичи.Пусто()
возврат
;
@ -301,8 +317,8 @@
.КаталогАвтофич}")
;
СоздатьФайлыФичПоАвтофичам(настройки.НастройкиVA.КаталогФич, автофичи, настройки.НастройкиАвтофич.Пользователи,
настройки.НастройкиАвтофич.КаталогШаблоновШагов, настройки.НастройкиАвтофич.ФайлШаблонаШапки)
СоздатьФайлыФичПоАвтофичам(настройки.НастройкиVA.КаталогФич, автофичи, настройки.НастройкиАвтофич.Пользователи, настройки
.НастройкиАвтофич.КаталогШаблоновШагов, настройки.НастройкиАвтофич.ФайлШаблонаШапки)
;
метод RunTests(имяФайлаНастроек: Строка)
@ -324,8 +340,7 @@
пер временныеИБПользователей = новый Соответствие()
для пользователь из настройки.НастройкиАвтофич.Пользователи
знч временныйКаталогИБ = Файлы.СоздатьВременныйКаталог("Test1CD")
CreateInfobaseFromTemplate(настройки.НастройкиТестовойБазы.ПутьКDT, временныйКаталогИБ.Путь,
исполняемыйФайлПлатформы)
CreateInfobaseFromTemplate(настройки.НастройкиТестовойБазы.ПутьКDT, временныйКаталогИБ.Путь, исполняемыйФайлПлатформы)
временныеИБПользователей.Вставить(пользователь.Представление, временныйКаталогИБ)
;
@ -346,19 +361,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, временныйКаталогИБ.Путь, исполняемыйФайлПлатформы, настройки.НастройкиТестовойБазы
.ИмяПользователя, настройки.НастройкиТестовойБазы
.ПарольПользователя)
командыПлатформы.Добавить(командаПлатформы)
@ -384,12 +398,11 @@
исп потокФайлаНастроек = файлНастроек.ОткрытьПотокЧтения()
пер настройкиJson = новый НастройкиЧтенияОбъектовJson()
настройкиJson.ИгнорироватьНеизвестныеСвойства = Истина
пер настройки = СериализацияJson.ПрочитатьОбъект(потокФайлаНастроек, Тип(ОписаниеНастроек),
настройкиJson) как ОписаниеНастроек
пер настройки = СериализацияJson.ПрочитатьОбъект(потокФайлаНастроек, Тип(ОписаниеНастроек), настройкиJson) как ОписаниеНастроек
пер пользователи = новый Массив()
для пользователь из настройки.НастройкиАвтофич.Пользователи
знч описаниеПользователя = новый ОписаниеПользователя(пользователь["ПредставлениеПользователя"],
пользователь["ИмяПользователя"], пользователь["ПарольПользователя"])
знч описаниеПользователя = новый ОписаниеПользователя(пользователь["ПредставлениеПользователя"], пользователь["ИмяПользователя"],
пользователь["ПарольПользователя"])
пользователи.Добавить(описаниеПользователя)
;
настройки.НастройкиАвтофич.Пользователи = пользователи
@ -598,8 +611,8 @@
Консоль.Записать("ИБ успешно создана.")
;
метод ExecuteDataProcessorTestManager(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка,
имяФайлаПлатформы: Строка, имяПользователя: Строка = "", пароль: Строка = ""): ОписаниеКомандыПлатформы
метод ExecuteDataProcessorTestManager(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка, имяФайлаПлатформы: Строка,
имяПользователя: Строка = "", пароль: Строка = ""): ОписаниеКомандыПлатформы
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("ENTERPRISE")
параметрыПроцесса.Добавить("/TestManager")
@ -627,7 +640,8 @@
возврат командаПлатформы
;
метод ВыполнитьКомандуПлатформы(имяКоманды: Строка, параметры: Массив, выводитьОшибки: Булево = Истина): ОписаниеКомандыПлатформы
метод ВыполнитьКомандуПлатформы(имяКоманды: Строка, параметры: Массив, выводитьОшибки: Булево =
Истина): ОписаниеКомандыПлатформы
знч временныйФайлЛогов = Файлы.СоздатьВременныйФайл()
параметры.Добавить("/Out")
@ -660,8 +674,8 @@
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
;
текстОшибки += Строки.Шаблон("\в\нКоманда: $0\в\нПараметры: $1", [командаПлатформы.имяКоманды, Строки.Соединить(
командаПлатформы.параметры, " ")])
текстОшибки += Строки.Шаблон("\в\нКоманда: $0\в\нПараметры: $1", [командаПлатформы.имяКоманды, Строки.Соединить(командаПлатформы
.параметры, " ")])
исп ошибкиВыполненияСкрипта = командаПлатформы.временныйФайлЛогов.ОткрытьПотокЧтения()
текстОшибки += "\в\н" + ошибкиВыполненияСкрипта.ПрочитатьКакТекст(КодировкаПотокаВыводаПлатформы())