Skip to content

Commit

Permalink
#561 реализация не асинхронной паузы при поиске элементов (#576)
Browse files Browse the repository at this point in the history
(cherry picked from commit abaaf8d5c78b3d278f2f01a826b671be5eacc378)
  • Loading branch information
pumbaEO authored and artbear committed Oct 7, 2019
1 parent 29e6421 commit 7f9c847
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1581,14 +1581,6 @@

&НаКлиенте
Процедура ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания()
НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания);

Если НужноеОкно = Неопределено Тогда
ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
Ванесса.ПродолжитьВыполнениеШагов();
Возврат;
КонецЕсли;

Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда
ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
ТекстСообщения = "Ожидали в течение <%1> секунд, что закроется окно с заголовком <%2>";
Expand All @@ -1597,20 +1589,60 @@
Ванесса.ПродолжитьВыполнениеШагов(Истина,ТекстСообщения);
Возврат;
КонецЕсли;

НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания);

Если НужноеОкно = Неопределено Тогда
ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
Ванесса.ПродолжитьВыполнениеШагов();
Возврат;
КонецЕсли;

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

&НаКлиенте
//И я жду закрытия окна "Имя окна" в течении 60 секунд
//@ЯЖдуЗакрытияОкнаВТеченииСекунд(Парам01,Парам02)
Процедура ЯЖдуЗакрытияОкнаВТеченииСекунд(ИмяОкна,КоличествоСекунд) Экспорт
Ванесса.ЗапретитьВыполнениеШагов();
//Ванесса.ЗапретитьВыполнениеШагов();

Ванесса.ОбработатьСменуАктивногоОкна();

ДатаНачалаОбработкиОжидания = ТекущаяДата();
ЗначениеОбрабткаОжидания = ИмяОкна;
КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд);
ПодключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания",1,Ложь);

Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл

НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания);

Если НужноеОкно = Неопределено Тогда
ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
Ванесса.ПродолжитьВыполнениеШагов();
Возврат;
КонецЕсли;

ЗаголовокПауза = Строка(Новый УникальныйИдентификатор);
КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 2)

КонецЦикла;

ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания);

Если НужноеОкно = Неопределено Тогда
ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания");
Ванесса.ПродолжитьВыполнениеШагов();
Возврат;
КонецЕсли;


ТекстСообщения = "Ожидали в течение <%1> секунд, что закроется окно с заголовком <%2>";
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ЗначениеОбрабткаОжидания);
Ванесса.ПродолжитьВыполнениеШагов(Истина,ТекстСообщения);

//ПодключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания",1,Ложь);
КонецПроцедуры

&НаКлиенте
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,26 @@
//И Пауза 1
//@Пауза(Парам01)
Процедура Пауза(КолСекунд) Экспорт

Если КонтекстСохраняемый.Свойство("ТестовоеПриложение") Тогда


ДатаНачалаОбработкиОжидания = ТекущаяДата();
КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КолСекунд);

Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл

ЗаголовокПауза = Строка(Новый УникальныйИдентификатор);
КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 1);

КонецЦикла;

Возврат;



КонецЕсли;

Ванесса.ЗапретитьВыполнениеШагов();

КоличествоСекундОбработкаОжидания = КолСекунд;
Expand Down

0 comments on commit 7f9c847

Please sign in to comment.