При написании сценария тестирования попалась ситуация, которая заставила сначала почесать затылок. А когда это не помогло, то пришлось чесать лоб. Помните как в киножурнале «Ералаш»?
Задача:
Необходимо написать сценарий, который проверит закрытие формы объекта при его модифицированности.
Пример:
Вроде бы все легко. За минуту делаем запись интерактивных действий пользователя на клиенте тестирования и сценарий тестирования готов.
Но при запуске записанного сценария тестирования он зависает на закрытии окна документа. Нажатие на «крестик» происходит, появляется диалоговое окно с вопросом о сохранении внесенных изменений. И все. Далее никаких действий не предпринимается. И выполнение сценария тестирования заканчивается ошибкой из-за невозможности закрыть форму документа.
Почему? Вот тут перестаем чесать затылок и переключаемся на лоб.
Оказывается для шага «Действие с формой» есть два разных действия:
- «Закрытие окна текущей формы» - имитация закрытия окна текущей формы с ожиданием закрытия окна. В данном случае всегда жестко проверяется, что окно будет закрыто;
- «Закрыть текущую форму без проверки закрытия» - имитация закрытия окна текущей формы без ожидания закрытия окна. А в данном случае проверка на закрытие окна отсутствует.
При создании сценария тестирования через запись интерактивных действий пользователя программа интерпретирует закрытие окна именно как имитация закрытия окна текущей формы с ожиданием его закрытия.
Соответственно, при закрытии документа сценарий тестирования ожидает, что окно документа сразу закроется. А окно не закрывается, так как появилось диалоговое окно с просьбой подтвердить или отменить сохранение изменений. И менеджер тестирования зависает до окончания времени ожидания ответа от клиента тестирования. А потом сценарий падает с ошибкой невозможности закрытия формы документа.
Для решения данной ситуации необходимо изменить действия шага «Действие с формой» с «Закрытие окна текущей формы» на «Закрыть текущую форму без проверки закрытия».
Необходимо помнить, что инструмент «1С:Сценарное тестирование» довольно гибкий и некоторые действия можно настроить более тонко под необходимый результат.
Данная ситуация хорошо демонстрирует то, что после написание сценария тестирования через запись интерактивных действий пользователя всегда нужно проводить его коррекцию и оптимизацию.
Но об этом мы еще с вами поговорим.