You've already forked devscripts
mirror of
https://github.com/DoublesunRUS/devscripts.git
synced 2025-07-17 01:12:27 +02:00
Автотесты VA
This commit is contained in:
@ -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", [командаПлатформы.имяКоманды, Строки.Соединить(командаПлатформы
|
||||
.параметры, " ")])
|
||||
|
||||
исп ошибкиВыполненияСкрипта = командаПлатформы.временныйФайлЛогов.ОткрытьПотокЧтения()
|
||||
текстОшибки += "\в\н" + ошибкиВыполненияСкрипта.ПрочитатьКакТекст(КодировкаПотокаВыводаПлатформы())
|
||||
|
Reference in New Issue
Block a user