MyTetra Share
Делитесь знаниями!
Подключение тестового приложения
Время создания: 30.08.2016 16:15
Автор: artbear
Текстовые метки: testing
Раздел: Программирование - 1с - Тестирование - Интеграционное
Запись: xintrea/mytetra_anatolean/raw/master/base/1472562912wsaoxytpjp/text.html на bitbucket.org

&НаКлиенте

Перем массивТестовыхПриложений;

&НаКлиенте

Процедура ТестДолжен_ПодключитьТестовыйКлиент() Экспорт

#Область Подключение_тестового_приложения

Состояние("Запуск сеанса пользователя...");

имяПользователя = "Зюба Светлана";

Пароль = "";

Порт = 1577;

ТаймаутОжиданияПриложенияВСекундах = 60;

ТестовоеПриложение = ЗапуститьТестовоеПриложение(имяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах);

#КонецОбласти

КонецПроцедуры

&НаКлиенте

Функция ЗапуститьТестовоеПриложение(ИмяПользователя, Пароль, Порт, ТаймаутОжиданияПриложенияВСекундах)

Перем тестовоеПриложение;

строкаЗапуска = ПолучитьСтрокуЗапуска(ИмяПользователя, Пароль, Порт);

ЗапуститьПриложение(строкаЗапуска);

тестовоеПриложение = Неопределено;

Попытка

Выполнить("тестовоеПриложение = Новый ТестируемоеПриложение(, XMLСтрока(Порт));");

Исключение

тестовоеПриложение = Неопределено;

КонецПопытки;

Если тестовоеПриложение = Неопределено Тогда

ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение."+Символы.ПС+

"Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER)"+Символы.ПС+

"При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования"".";

КонецЕсли;

Подключен = Ложь;

ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60;

ОписаниеОшибкиСоединения = "";

Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл

Попытка

тестовоеПриложение.УстановитьСоединение();

Подключен = Истина;

Прервать;

Исключение

ОписаниеОшибкиСоединения = ОписаниеОшибки();

КонецПопытки;

КонецЦикла;

сообщениеОшибки = "Не смогли установить соединение с тестовым приложением для пользователя "+ИмяПользователя+" !" + Символы.ПС + ОписаниеОшибкиСоединения;

Если Не Подключен Тогда

тестовоеПриложение = Неопределено;

ВызватьИсключение сообщениеОшибки;

КонецЕсли;

массивТестовыхПриложений.Добавить(тестовоеПриложение);

Возврат тестовоеПриложение;

КонецФункции

&НаКлиенте

Функция ПолучитьСтрокуЗапуска(ИмяПользователя = "", Пароль = "", Порт = "")

ЭтоLinux = Ложь;

СисИнфо = Новый СистемнаяИнформация;

ВерсияПриложения = СисИнфо.ВерсияПриложения;

Если Найти(Строка(СисИнфо.ТипПлатформы), "Linux")>0 Тогда

ЭтоLinux = Истина;

КонецЕсли;

СтрокаЗапуска1с = КаталогПрограммы() + "1cv8c";

Если ЭтоLinux = Ложь Тогда

СтрокаЗапуска1с = СтрокаЗапуска1с + ".exe";

КонецЕсли;

Результат = СтрокаЗапуска1с + " ENTERPRISE " +

"/IBConnectionString""" + СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """""") + """" +

" /N""" + ИмяПользователя + """" + ?(ПустаяСтрока(Пароль), ""," /P""" + Пароль + """") +

" /TESTCLIENT -TPort" + XMLСтрока(Порт);

Возврат Результат;

КонецФункции

 
MyTetra Share v.0.59
Яндекс индекс цитирования