Skip to content

Commit

Permalink
Merge pull request #120 from ivanov660/доработка_менеджера
Browse files Browse the repository at this point in the history
доработки менеджера
  • Loading branch information
ivanov660 authored Apr 20, 2022
2 parents 116f32b + 10a2341 commit 364c40f
Show file tree
Hide file tree
Showing 36 changed files with 3,215 additions and 356 deletions.
2 changes: 1 addition & 1 deletion TestingTool_3-0/DT-INF/PROJECT.PMF
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.16
Runtime-Version: 8.3.17
Store-Version: 1.0.0
1 change: 1 addition & 0 deletions TestingTool_3-0/src/Configuration/Configuration.mdo
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="9b7d90a3-c2a7-4841-aea2-e3e3d92c6d37"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="46132507-4ccd-4283-a6cd-258bc8734d0d"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="89c44b1e-024a-46ca-9cc9-81b524900577"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="10d01cfd-f3a0-4ae7-a9bd-4ebc3c6964c1" />
<namePrefix></namePrefix>
<configurationExtensionCompatibilityMode>8.3.11</configurationExtensionCompatibilityMode>
<defaultRunMode>ManagedApplication</defaultRunMode>
Expand Down
2 changes: 1 addition & 1 deletion UI-ScenarioTestManager/DT-INF/PROJECT.PMF
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.16
Runtime-Version: 8.3.17
Store-Version: 1.0.0
Base-Project: TestingTool_3-0
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@
// свойства проекта по умолчанию
НоваяЗаписьXML.ЗаписатьАтрибут("DefaultAPI",мОписаниеСценария.ИспользуемыйAPI);
НоваяЗаписьXML.ЗаписатьАтрибут("DefaultBrowser",мОписаниеСценария.Браузер);
НоваяЗаписьXML.ЗаписатьАтрибут("DefaultPort",XMLСтрока(Объект.НомерПорта));
НоваяЗаписьXML.ЗаписатьАтрибут("DefaultPort",XMLСтрока(мОписаниеСценария.НомерПорта));

// версии ТК
НоваяЗаписьXML.ЗаписатьНачалоЭлемента("SupportedVersions");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,9 @@
КонецФункции

&НаКлиенте
Функция ЗапуститьБраузер_Selenium_API(Знач Браузер,Знач АдресИнтернет="http://localhost",Знач НомерПорта=8080,Знач ИмяСессии="Selenium") Экспорт
Функция ЗапуститьБраузер_Selenium_API(Знач Браузер,Знач АдресИнтернет="http://localhost",Знач НомерПорта=8080,Знач ИмяСессии="Selenium",Знач ПутьИсполняемыйФайлБраузера="") Экспорт

ТекстОшибки = "";
ЗагрузитьБиблиотеки();

ПутьUrl = Модуль_СервисныеФункции.ПолучитьПутьUrl(АдресИнтернет, НомерПорта );
Expand All @@ -185,39 +186,65 @@
СтруктураОтвета = Модуль_СервисныеФункции.ЗагрузитьФайлПоИнтернетАдресу(ПутьUrl+"/rest.html?"+СтрокаКоманды);
// 2. Если не запущен попробуем запустить, и проверим еще раз
Если НЕ СтруктураОтвета.КодСостояния=200 Тогда
ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
//ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
ТекстОшибки = "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
Возврат ТекстОшибки;
КонецЕсли;
// 3. Проверим на ошибку
Текст = СтруктураОтвета.ТелоСтрокой;
РезультатОтвета = Модуль_СервисныеФункции.ОбработкаJSON(Текст);
// Была ошибка, запуска сессии
Если НРег(РезультатОтвета.error)="true" Тогда
ВызватьИсключение РезультатОтвета.message;
//ВызватьИсключение РезультатОтвета.message;
ТекстОшибки = РезультатОтвета.message;
Возврат ТекстОшибки;
КонецЕсли;

// II) устанавливаем свойства барузера
Если ЗначениеЗаполнено(ПутьИсполняемыйФайлБраузера) Тогда
СтрокаКоманды = "&Operation=browser_set_option&answer_format=json";
СтрокаКоманды = СтрокаКоманды + "&session_id="+ИмяСессии;
СтрокаКоманды = СтрокаКоманды + "&api=Selenium";
СтрокаКоманды = СтрокаКоманды + "&browser="+Браузер;
СтрокаКоманды = СтрокаКоманды + "&key=BinaryLocation";
СтрокаКоманды = СтрокаКоманды + "&value="+Модуль_СервисныеФункции.EncodeURL(ПутьИсполняемыйФайлБраузера);

СтруктураОтвета = Модуль_СервисныеФункции.ЗагрузитьФайлПоИнтернетАдресу(ПутьUrl+"/rest.html?"+СтрокаКоманды);
// 2. Если не запущен попробуем запустить, и проверим еще раз
Если НЕ СтруктураОтвета.КодСостояния=200 Тогда
//ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
ТекстОшибки = "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
Возврат ТекстОшибки;
КонецЕсли;

КонецЕсли;



// II) запускаем браузер
// III) запускаем браузер

СтрокаКоманды = "&Operation=browser_run&answer_format=json";
СтрокаКоманды = СтрокаКоманды + "&session_id="+ИмяСессии;
СтрокаКоманды = СтрокаКоманды + "&api=Selenium";
СтрокаКоманды = СтрокаКоманды + "&session_id="+ИмяСессии;
СтрокаКоманды = СтрокаКоманды + "&api=Selenium";
СтрокаКоманды = СтрокаКоманды + "&browser="+Браузер;


// 1. Определеим запущен ли веб сервер
СтруктураОтвета = Модуль_СервисныеФункции.ЗагрузитьФайлПоИнтернетАдресу(ПутьUrl+"/rest.html?"+СтрокаКоманды);
// 2. Если не запущен попробуем запустить, и проверим еще раз
Если НЕ СтруктураОтвета.КодСостояния=200 Тогда
ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
//ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
ТекстОшибки = "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
Возврат ТекстОшибки;
КонецЕсли;


Возврат Истина;
Возврат ТекстОшибки;
КонецФункции

&НаКлиенте
Функция ЗакрытьБраузер_Selenium_API(Знач АдресИнтернет="http://localhost",Знач НомерПорта=8080,Знач ИмяСессии="Selenium") Экспорт

ТекстОшибки = "";
ЗагрузитьБиблиотеки();
СтруктураОтвета = Неопределено;

Expand All @@ -234,7 +261,9 @@
СтруктураОтвета = Модуль_СервисныеФункции.ЗагрузитьФайлПоИнтернетАдресу(ПутьUrl+"/rest.html?"+СтрокаКоманды);
// 2. Если не запущен попробуем запустить, и проверим еще раз
Если НЕ СтруктураОтвета.КодСостояния=200 Тогда
ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
//ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
ТекстОшибки = "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
Возврат ТекстОшибки;
КонецЕсли;

// II) Закрываем сессию
Expand All @@ -246,15 +275,14 @@
СтруктураОтвета = Модуль_СервисныеФункции.ЗагрузитьФайлПоИнтернетАдресу(ПутьUrl+"/rest.html?"+СтрокаКоманды);
// 2. Если не запущен попробуем запустить, и проверим еще раз
Если НЕ СтруктураОтвета.КодСостояния=200 Тогда
ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
//ВызватьИсключение "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
ТекстОшибки = "Не запущена служба или произошла другая ошибка. Код ответа:"+СтруктураОтвета.КодСостояния;
Возврат ТекстОшибки;
КонецЕсли;



Возврат Истина;

Возврат ТекстОшибки;
КонецФункции


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

&НаКлиенте
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,6 @@
Возврат ЗначениеИзСтрокиВнутр(Значение);
КонецФункции


&НаКлиенте
Процедура мСценСкрипт_ВыполнитьКоманду(ТестовоеПриложение,ОписаниеОшибки,мПараметрыКлиент,ТекущаяПеременная, мПараметры) Экспорт

Expand All @@ -700,6 +699,7 @@
ЗначениеПараметра = мПараметры.ЗначениеПараметра;
ПараметрыСценария = мПараметры.ПараметрыСценария;
Интервал = мПараметры.Интервал;
ПредставлениеДанных = мПараметры.ПредставлениеДанных;

// простые команды без параметров
Если ИмяКоманды = "Нажать" Тогда
Expand Down Expand Up @@ -793,6 +793,7 @@
ИначеЕсли ИмяКоманды = "ПолучитьТекстОбласти" ИЛИ ИмяКоманды = "GetAreaText" Тогда

ЗначениеПараметра = ТекущаяПеременная.ПолучитьТекстОбласти();
ПредставлениеДанных = ЗначениеПараметра;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);

ИначеЕсли ИмяКоманды = "ЗавершитьРедактированиеТекущейОбласти" ИЛИ ИмяКоманды = "EndEditingCurrentArea" Тогда
Expand Down Expand Up @@ -832,6 +833,7 @@
ТекстСообщения = ТекстСообщения+" "+Символы.ПС+стр;
КонецЦикла;
ЗначениеПараметра = ТекстСообщения;
ПредставлениеДанных = ТекстСообщения;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);
ИначеЕсли ИмяКоманды = "УдалитьЭлементСостоянияПросмотра" ИЛИ ИмяКоманды = "DeleteViewStatusItem" Тогда
ТекущаяПеременная.УдалитьЭлементСостоянияПросмотра("" + Presentation + "");
Expand Down Expand Up @@ -879,14 +881,17 @@
КонецЕсли;
КонецЦикла;
ЗначениеПараметра = ТекстСообщения;
ПредставлениеДанных = ТекстСообщения;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);
ИначеЕсли ИмяКоманды = "ПолучитьПредставлениеДанных" ИЛИ ИмяКоманды = "GetDataPresentation" Тогда
ТекстСообщения = ТекущаяПеременная.ПолучитьТекстыСообщенийПользователю();
ЗначениеПараметра = ТекстСообщения;
ПредставлениеДанных = ТекстСообщения;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);
ИначеЕсли ИмяКоманды = "ПолучитьТекстРедактирования" ИЛИ ИмяКоманды = "GetEditText" Тогда
ТекстСообщения = ТекущаяПеременная.ПолучитьТекстРедактирования();
ЗначениеПараметра = ТекстСообщения;
ПредставлениеДанных = ТекстСообщения;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);

ИначеЕсли ИмяКоманды = "УстановитьМаксимальноеВремяВыполненияДействия" Тогда
Expand All @@ -898,13 +903,16 @@
+"ИмяМодуля: "+РезультатОбработки.ИмяМодуля+Символы.ПС
+"НомерСтроки: "+РезультатОбработки.НомерСтроки+Символы.ПС
+"ИсходнаяСтрока: "+РезультатОбработки.ИсходнаяСтрока +Символы.ПС;
ПредставлениеДанных = ТекстСообщения;
ЗначениеПараметра = ТекстСообщения;
мСцен_УстановитьЗначениеПараметра(ИмяПараметра,ЗначениеПараметра,ПараметрыСценария);
КонецЕсли;


КонецЕсли;

мПараметры.ПредставлениеДанных = ПредставлениеДанных;

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


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
СтрокаКоманды = СтрокаКоманды + "&action=find main window";
СтрокаКоманды = СтрокаКоманды + "&process_id="+PID;
СтрокаКоманды = СтрокаКоманды + "&element_name="+Модуль_СервисныеФункции.EncodeURL(ЗаголовокОбъекта);
СтрокаКоманды = СтрокаКоманды + "&element_class_name="+Модуль_СервисныеФункции.EncodeURL(ИмяКлассаОбъекта);
СтрокаКоманды = СтрокаКоманды + "&interval="+Формат(Интервал,"ЧН=0; ЧГ=;");


Expand Down Expand Up @@ -211,7 +212,7 @@
СтрокаКоманды = СтрокаКоманды + "&action=find window";
СтрокаКоманды = СтрокаКоманды + "&process_id="+PID;
СтрокаКоманды = СтрокаКоманды + "&element_name="+Модуль_СервисныеФункции.EncodeURL(ЗаголовокОбъекта);
СтрокаКоманды = СтрокаКоманды + "&element_class_name="+ИмяКлассаОбъекта;
СтрокаКоманды = СтрокаКоманды + "&element_class_name="+Модуль_СервисныеФункции.EncodeURL(ИмяКлассаОбъекта);
СтрокаКоманды = СтрокаКоманды + "&interval="+Формат(Интервал,"ЧН=0; ЧГ=;");


Expand Down Expand Up @@ -264,8 +265,8 @@
Иначе
СтрокаКоманды = СтрокаКоманды + "&action=find element";
КонецЕсли;
СтрокаКоманды = СтрокаКоманды + "&element_name="+ИмяОбъекта;
СтрокаКоманды = СтрокаКоманды + "&element_class_name="+ИмяКлассаОбъекта;
СтрокаКоманды = СтрокаКоманды + "&element_name="+Модуль_СервисныеФункции.EncodeURL(ИмяОбъекта);
СтрокаКоманды = СтрокаКоманды + "&element_class_name="+Модуль_СервисныеФункции.EncodeURL(ИмяКлассаОбъекта);
СтрокаКоманды = СтрокаКоманды + "&element_type="+ТипОбъекта;
СтрокаКоманды = СтрокаКоманды + "&element_id="+ИдентификаторОбъекта;
СтрокаКоманды = СтрокаКоманды + "&interval="+Формат(Интервал,"ЧН=0; ЧГ=;");
Expand Down
Loading

0 comments on commit 364c40f

Please sign in to comment.