Найти тему

Клиент тестирования и запрос на закрытие программы

Есть в программных продуктах 1С такая персональная настройка «Запрашивать подтверждение при завершении программы». Если настройка установлена, то при закрытии программы появляется диалоговое окно с просьбой подтвердить действие. В общем, беспокоится - осознано вы закрываете программу или уснули на клавиатуре, сверяя показатели баланса и финансового результата.

Настройка установлена по умолчанию и многие пользователи даже не знают, что это настраиваемая функция и приникают ее как естественное поведение программы.

Окно программы «1С:Управление нашей фирмой» с открытой формой «Мои настройки»
Окно программы «1С:Управление нашей фирмой» с открытой формой «Мои настройки»

Но при пакетном режиме тестирования, когда приходится работать с информационными базами: загружать, обновлять, выгружать, открывать и закрывать, такой диалог при закрытии программы только мешает.

И тут надо отметить, что на данный момент пакетный шаг «Закрыть тестируемое приложение» не умеет обрабатывать данный диалог.

Как обойти?

Все зависит от момента управления данной настройкой.

Заранее. Подготовительный момент

Если тестирование происходит на заранее подготовленной информационной базе, в которой заведены все необходимые данные под автоматизированные тесты, то управление настройкой осуществляется на уровне подготовки данной информационной базы. Отключили ее и она больше не беспокоит.

По ходу работы в информационной базе. Эксплуатационный момент

Если процесс проверки подразумевает вначале создание информационной базы, например, создание базы из шаблонов конфигурации, то управление отключением настройки осуществляется по ходу работы в информационной базе. И здесь вариаций может быть несколько.

1. Можно написать сценарий тестирования, который будет устанавливать значение данной настройки через форму: переход по навигационной ссылке на форму «Персональные настройки» (Мои настройки) и снятие флага у настройки. Единственное, данный вариант не подойдет для тех случаев, когда информационная база запускается под пользователем с ограниченными правами и вообще нет возможности запустить данную базу под другим пользователем с полными правами.

Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через последовательные шаги сценария тестирования
Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через последовательные шаги сценария тестирования

2. Можно создать шаг «Процедура на встроенном языке» и программно установить значение данной настройки:

Настройки = Новый Структура;
Настройки.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", Ложь);
ОбщегоНазначения.СохранитьПерсональныеНастройки(Настройки);

Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через шаг «Процедура на встроенном языке»
Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через шаг «Процедура на встроенном языке»

3. А можно написать сценарий тестирования из одного шага «Закрыть клиента тестирования». Причем данный шаг сценария в отличие от своего собрата из пакета тестирования умеет обрабатывать диалоговые окна.

Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через шаг «Закрыть клиента тестирования»
Окно программы «1С:Управление нашей фирмой» с открытой обработкой записи сценария тестирования. В примере показан вариант управления настройкой «Запрашивать подтверждение при завершении программы» через шаг «Закрыть клиента тестирования»

У шага «Закрыть клиента тестирования» есть несколько действий:

  • Нажать кнопку закрытия клиентского окна и разорвать соединение
  • Только нажать кнопку закрытия клиентского окна
  • Нажать кнопку закрытия клиентского окна и разорвать соединение
Окно настройки шага «Закрыть клиента тестирования» с возможными вариантами действий
Окно настройки шага «Закрыть клиента тестирования» с возможными вариантами действий

Для действия «Только разорвать соединение с тестируемым приложением» будет разорвана связь с открытым клиентом тестирования, но сама база, открытая как клиент тестирования закрыта не будет.

Для действия «Только нажать кнопку закрытия клиентского окна» будет закрыт клиент тестирования с обработкой по умолчанию диалога настройки «Запрашивать подтверждение при завершении программы». Т.е. данному действию без разницы уставлена данная настройка или нет.

Для действия «Нажать кнопку закрытия клиентского окна и разорвать соединение» соответственно будет закрыт клиент тестирования и связь с ним разорвана. И для данного действия по умолчанию обрабатывается диалог настройки «Запрашивать подтверждение при завершении программы».

Но можно не обрабатывать автоматически диалог, установив настройку «Отрабатывать диалог вручную». При ее включении придется обработать окно диалога другими шагами сценария тестирования.

Окно настройки шага «Закрыть клиента тестирования» с активированной настройкой «Отрабатывать диалог вручную»
Окно настройки шага «Закрыть клиента тестирования» с активированной настройкой «Отрабатывать диалог вручную»

Есть еще вариант, когда можно загрузить значения настроек и другие тестовые данные из файлов или другой информационной базы. Правда, это уже история другого инструмента автоматизированного тестирования...

-8