Для группы формы вида "Группа страниц" возвращает объект, описывающий текущую активную страницу.
Синтаксис
ПолучитьТекущуюСтраницу()Полное описание, параметры и ограничения
ТестируемаяГруппаФормы.ПолучитьТекущуюСтраницу (TestedFormGroup.GetCurrentPage)
ТестируемаяГруппаФормы (TestedFormGroup)
ПолучитьТекущуюСтраницу (GetCurrentPage)
Доступен, начиная с версии 8.3.6.
Синтаксис:
ПолучитьТекущуюСтраницу()
Возвращаемое значение:
Тип: ТестируемаяГруппаФормы.
Описание:
Для группы формы вида "Группа страниц" возвращает объект, описывающий текущую активную страницу.
Доступность:
Тонкий клиент, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.6.
Методическая информация
Практические примеры
Прочитать активную страницу и вернуть страницу Данные
Текущая страница определяется объектом группы; активизация другой страницы проверяется по её точному имени.
Где и как запускать
Полный модуль формы своей обработки менеджера тестирования /TESTMANAGER. Fixture запускается отдельно в /TESTCLIENT.
Подготовка
Используйте только собственную пустую конфигурацию УчебнаяКонфигурацияСинтаксиса. В fixture-уроках приведены полные модули отдельных новых внешних обработок с пустой управляемой основной формой.
Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.
Откройте нужную обработку в своём тестируемом клиенте. В отдельной обработке менеджера тестов создайте команду ВыполнитьПример и вставьте полный код соответствующего теста в модуль формы.
Перед каждым тестом заново откройте соответствующую обработку: не используйте уже изменённое состояние. Точные заголовки guide-owned относятся только к подготовленной собственной форме.
Это код штатного механизма тестирования 1С, не браузерная проверка HTML. В данном окружении выполнение UI-тестов в настоящей 1С не подтверждено.
&НаКлиенте
Процедура ВыполнитьПример(Команда)
Приложение = Новый ТестируемоеПриложение("127.0.0.1", 15380);
Приложение.УстановитьСоединение();
ИсходныйЛимит = Неопределено;
ОшибкаТеста = "";
Попытка
Форма = Приложение.ПолучитьОбъект(Тип("ТестируемаяФорма"), "Учебные страницы guide-owned-pages-2026", , 10);
ИсходныйЛимит = Приложение.ПолучитьМаксимальноеВремяВыполненияДействия();
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(10);
Страницы = Форма.ПолучитьОбъект(Тип("ТестируемаяГруппаФормы"), , "УчебныеСтраницы", 10);
Сообщить(Страницы.Вид = ВидГруппыФормы.Страницы);
Сообщить(Страницы.ПолучитьТекущуюСтраницу().Имя = "УчебнаяСтраницаДанных");
Данные = Страницы.ПолучитьОбъект(Тип("ТестируемаяГруппаФормы"), , "УчебнаяСтраницаДанных", 10);
Пояснение = Страницы.ПолучитьОбъект(Тип("ТестируемаяГруппаФормы"), , "УчебнаяСтраницаПояснения", 10);
ОшибкаПереключения = "";
Попытка
Пояснение.Активизировать();
Сообщить(Страницы.ПолучитьТекущуюСтраницу().Имя = "УчебнаяСтраницаПояснения");
Исключение
ОшибкаПереключения = ОписаниеОшибки();
КонецПопытки;
Попытка
Данные.Активизировать();
Исключение
ВызватьИсключение "Не восстановлена собственная страница: " + ОшибкаПереключения + " " + ОписаниеОшибки();
КонецПопытки;
Если Не ПустаяСтрока(ОшибкаПереключения) Тогда
ВызватьИсключение ОшибкаПереключения;
КонецЕсли;
Сообщить(Страницы.ПолучитьТекущуюСтраницу().Имя = "УчебнаяСтраницаДанных");
Поле = Данные.ПолучитьОбъект(Тип("ТестируемоеПолеФормы"), , "НазваниеНаСтранице", 10);
Сообщить(Поле.ПолучитьОтображаемыйТекст() = "Книга");
Исключение
ОшибкаТеста = ОписаниеОшибки();
КонецПопытки;
ОшибкиЗавершения = ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит);
Если Не ПустаяСтрока(ОшибкаТеста) Или Не ПустаяСтрока(ОшибкиЗавершения) Тогда
ВызватьИсключение "Ошибка учебного UI-теста: " + ОшибкаТеста + " " + ОшибкиЗавершения;
КонецЕсли;
Сообщить("Сценарий завершён без исключения. Отдельно сверяйте контрольные Истина и видимые данные учебного клиента");
КонецПроцедуры
&НаКлиенте
Функция ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит)
ОшибкиЗавершения = "";
Если ТипЗнч(ИсходныйЛимит) = Тип("Число") Тогда
Попытка
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(ИсходныйЛимит);
Исключение
ОшибкиЗавершения = "Не восстановлен лимит действий: " + ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Попытка
Приложение.РазорватьСоединение();
Исключение
ОшибкиЗавершения = ОшибкиЗавершения + " Не разорвано соединение: " + ОписаниеОшибки();
КонецПопытки;
Возврат ОшибкиЗавершения;
КонецФункцииРазбор по шагам
Менеджер подключается только к своему 127.0.0.1:15380 и получает форму по точному заголовку с таймаутом 10 секунд.
Ищем страницы внутри точной собственной группы страниц, а не среди всех окон клиента.
ПолучитьТекущуюСтраницу возвращает ТестируемаяГруппаФормы. Сравниваем её внутреннее Имя, а не отображаемое название вкладки.
Активизировать страницу означает сделать её активной. Не используем Нажать: этот метод тестируемой группы предназначен для карточки.
Возврат на Данные выполняется отдельно даже после ошибки перехода. Затем читается название собственного товара.
Даже при ошибке отдельно пытаемся восстановить исходный лимит действий и разорвать соединение; ошибки завершения не скрываются.
Как проверить результат
Пять логических проверок дают Истина; активная страница в конце Данные.
Поле на странице содержит Книга; соединение менеджера закрыто без закрытия тестируемого клиента.
Ожидаемый результат
Показан полный цикл определения и смены собственной активной страницы.
На что обратить внимание
Метод текущей страницы относится только к группе вида Страницы.
При сбое соединения повторно откройте только свою учебную форму; чужие окна не закрывайте.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.