Открывает список выбора.
Синтаксис
ВыбратьИзСпискаВыбора()Полное описание, параметры и ограничения
Расширение тестируемого поля формы для поля ввода.ВыбратьИзСпискаВыбора (Tested form field extension for an input field.StartChoosingFromChoiceList)
Расширение тестируемого поля формы для поля ввода (Tested form field extension for an input field)
ВыбратьИзСпискаВыбора (StartChoosingFromChoiceList)
Доступен, начиная с версии 8.3.1.
Синтаксис:
ВыбратьИзСпискаВыбора()
Описание:
Открывает список выбора.
Доступность:
Тонкий клиент, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Выбрать Ручка в собственном списке выбора формы
Открываем список поля УчебныйВыбор, читаем соответствие представлений и выбираем видимую подпись, не вводя её как код.
Где и как запускать
Полный модуль формы менеджера /TESTMANAGER; fixture открыт отдельно в /TESTCLIENT.
Подготовка
Только собственная пустая конфигурация УчебнаяКонфигурацияСинтаксиса. Для первого урока создайте новую внешнюю обработку УчебныйИнтерфейсТестирования с пустой основной управляемой формой Форма.
Запустите два отдельных тонких клиента собственной учебной базы: тестируемый с /TESTCLIENT -TPort15380, менеджер с /TESTMANAGER. Порт 15380 — собственный учебный; убедитесь, что на нём не работает другой клиент. Не подключайте менеджер к рабочей базе/чужому приложению.
В fixture назначьте событие ПриСозданииНаСервере одноимённому обработчику и вставьте весь модуль первого урока. Элементы и реквизиты вручную не создавайте. Откройте эту обработку в /TESTCLIENT.
Каждый следующий урок — полный отдельный модуль формы другой обработки менеджера /TESTMANAGER с командой ВыполнитьПример. Перед каждым тестом заново откройте fixture; не выполняйте тест на изменённом состоянии предыдущего урока.
Исходно первое поле Книга, второе Ручка, статус Готово, выбор book/Книга. Любые кнопки/ссылки действуют только на этой памяти формы; нет записи базы и внешних URL.
Это код штатного механизма тестирования 1С, не браузерная проверка HTML. В данном окружении выполнение UI-тестов в настоящей 1С не подтверждено.
&НаКлиенте
Процедура ВыполнитьПример(Команда)
Приложение = Новый ТестируемоеПриложение("127.0.0.1", 15380);
Приложение.УстановитьСоединение();
ИсходныйЛимит = Неопределено;
ОшибкаТеста = "";
Попытка
Форма = Приложение.ПолучитьОбъект(Тип("ТестируемаяФорма"), "Учебная форма guide-owned-form-2026", , 10);
ИсходныйЛимит = Приложение.ПолучитьМаксимальноеВремяВыполненияДействия();
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(10);
ПолеВыбора = Форма.ПолучитьОбъект(Тип("ТестируемоеПолеФормы"), , "ПолеУчебногоВыбора", 10);
ПолеВыбора.ВыбратьИзСпискаВыбора();
Представления = Форма.ПолучитьПредставлениеСпискаВыбора();
Сообщить(Представления.Количество() = 2);
Для Каждого Представление Из Представления Цикл
Данные = Неопределено;
Текст = Неопределено;
Если Не Представление.Свойство("ПредставлениеДанных", Данные) Тогда
Если Не Представление.Свойство("DataPresentation", Данные) Тогда
ВызватьИсключение "Не найдено поле представления данных";
КонецЕсли;
КонецЕсли;
Если Не Представление.Свойство("ОтображаемыйТекст", Текст) Тогда
Если Не Представление.Свойство("DisplayedText", Текст) Тогда
ВызватьИсключение "Не найдено поле отображаемого текста";
КонецЕсли;
КонецЕсли;
Сообщить(СтрШаблон("Данные=%1; показывается=%2", Данные, Текст));
КонецЦикла;
Форма.ВыполнитьВыборИзСписка("Ручка");
Сообщить(ПолеВыбора.ПолучитьОтображаемыйТекст() = "Ручка");
Сообщить(Форма.ПолучитьОбъект(Тип("ТестируемоеПолеФормы"), , "ПолеПервое", 10).ПолучитьОтображаемыйТекст() = "Книга");
Исключение
ОшибкаТеста = ОписаниеОшибки();
КонецПопытки;
ОшибкиЗавершения = ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит);
Если Не ПустаяСтрока(ОшибкаТеста) Или Не ПустаяСтрока(ОшибкиЗавершения) Тогда
ВызватьИсключение "Ошибка учебного UI-теста: " + ОшибкаТеста + " " + ОшибкиЗавершения;
КонецЕсли;
Сообщить("Сценарий завершён без исключения. Отдельно сверяйте контрольные Истина и видимые данные учебного клиента");
КонецПроцедуры
&НаКлиенте
Функция ЗавершитьСобственныйУчебныйТест(Приложение, ИсходныйЛимит)
ОшибкиЗавершения = "";
Если ТипЗнч(ИсходныйЛимит) = Тип("Число") Тогда
Попытка
Приложение.УстановитьМаксимальноеВремяВыполненияДействия(ИсходныйЛимит);
Исключение
ОшибкиЗавершения = "Не восстановлен лимит действий: " + ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Попытка
Приложение.РазорватьСоединение();
Исключение
ОшибкиЗавершения = ОшибкиЗавершения + " Не разорвано соединение: " + ОписаниеОшибки();
КонецПопытки;
Возврат ОшибкиЗавершения;
КонецФункцииРазбор по шагам
Тест подключается только к своему 127.0.0.1:15380 и получает точную собственную форму с таймаутом 10 секунд.
ВыбратьИзСпискаВыбора открывает список подготовленного поля; это не вызов справочника Номенклатура.
Массив представлений содержит структуры. Названия полей зависят от языка конфигурации менеджера; проверяем русское и документированное английское имя.
В списке показывается Книга/Ручка, данные book/pen. Тест выбирает отображаемую подпись, а не вводит Ручка строкой в код.
Форма.ВыполнитьВыборИзСписка работает с уже открытым списком. Первое поле отдельно проверяется, чтобы изменение одного выбора не считалось заменой всей формы.
Исходный лимит действий восстанавливается, соединение отдельно разрывается и при ошибке. Разрыв соединения не закрывает весь тестируемый клиент.
Как проверить результат
Три проверки ожидаются Истина. Две диагностические строки показывают book→Книга и pen→Ручка.
В первом поле Книга осталась; изменился только собственный выбор формы.
Ожидаемый результат
На полностью заданном списке показаны разные данные/подпись и штатный тестовый выбор.
На что обратить внимание
ПолучитьПредставлениеСпискаВыбора не возвращает просто массив строк.
Если открыто не то окно выбора, не продолжайте на другом объекте приложения; переоткройте fixture.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.