Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
118 lines (91 sloc) 4.98 KB
// Производит запуск всех незахваченных сценариев.
// Может использоваться для каждодневного (еженощного) запуска
// всех готовых к выполнению тестов.
// ***************************************
// Запуск 1С в режиме клиента тестирования
// ***************************************
п = Вызвать ( "Тестер.Запустить.Параметры" );
п.База = "ERP Управление предприятием 2 (демо)";
п.Пользователь = "Администратор (ОрловАВ)";
п.Параметры = "/LRU";
п.Ждать = 15; // Увеличите этот параметр, если тест будет продолжен еще до запуска клиента тестирования
Вызвать ( "Тестер.Запустить", п );
// **********************************
// Запуск на тестирование всех тестов
// **********************************
конфигурация = "ERP2";
п = новый Структура ();
п.Вставить ( "Имя", конфигурация );
исключения = новый Массив (); // Массив тестов, которые по каким-то причинам запускать не требуется
исключения.Добавить ( "ЗапуститьERP2тесты" );
п.Вставить ( "Исключения", исключения );
список = Вызвать ( "Тестер.Сценарии", п );
для каждого сценарий из список цикл
начало = TestSrv.SessionDate ();
попытка
Test.Start ( сценарий, конфигурация );
ЗакрытьВсё ();
исключение
Отключить ();
// При необходимости, можете высылать себе на почту ошибки
// выслатьОшибку ( сценарий, начало );
конецпопытки;
конеццикла;
// ********************************************
// Отключиться и закрыть тестируемое приложение
// ********************************************
если ( не AppData.Connected ) тогда
Подключить ();
конецесли;
ЗакрытьВсё ();
попытка
ГлавноеОкно.Закрыть ();
если ( Дождаться ( "*1?:ERP*" ) ) тогда
Нажать ( "Завершить работу", "*1?:ERP*" );
конецесли;
Отключить ( истина );
исключение
конецпопытки;
// *********************************************
// Процедуры
// *********************************************
Процедура выслатьОшибку ( Сценарий, Дата )
п = новый Структура ( "Сценарий, Дата", Сценарий, Дата );
ошибки = Вызвать ( "Тестер.Ошибки", п );
п = Вызвать ( "Тестер.Послать.Параметры" );
п.Отправитель = отправитель ();
п.Получатель = DF.Pick ( Сценарий, "Creator.Email" );
п.Тема = "Ошибки в сценарии: " + Сценарий;
п.Тело = СтрСоединить ( ошибки, Символы.ПС );
добавитьСкрин ( п );
Вызвать ( "Тестер.Послать", п );
КонецПроцедуры
&НаСервере
Функция отправитель ()
возврат DF.Pick ( ПараметрыСеанса.User, "Email" );
КонецФункции
Процедура добавитьСкрин ( Параметры )
система = новый СистемнаяИнформация ();
платформа = система.ТипПлатформы;
если ( платформа = ТипПлатформы.Windows_x86
или платформа = ТипПлатформы.Windows_x86_64 ) тогда
данные = Вызвать ( "Тестер.Послать.Вложение" );
данные.Файл = снятьСкрин ();
данные.Имя = "Ошибка.jpg";
Параметры.Вложения.Добавить ( данные );
конецесли;
КонецПроцедуры
Функция снятьСкрин ()
файл = ПолучитьИмяВременногоФайла ( "jpg" );
shell = new ComObject ( "WScript.Shell" );
cmd = """& {[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');"
+ "$size = [Windows.Forms.SystemInformation]::VirtualScreen;"
+ "$bitmap = new-object Drawing.Bitmap $size.width, $size.height;"
+ "$graphics = [Drawing.Graphics]::FromImage($bitmap);"
+ "$graphics.CopyFromScreen($size.location,[Drawing.Point]::Empty, $size.size);"
+ "$graphics.Dispose();"
+ "$bitmap.Save('" + файл + "');"
+ "$bitmap.Dispose()}""";
shell.Run ( "powershell -command " + cmd, 0, "true" );
возврат файл;
КонецФункции
You can’t perform that action at this time.