You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Существует проблема
Некоторые дымовые тесты выполняются с ошибкой. Например "Не удалось провести документ", или "Не удалось записать...". А причина подобной ошибки выводится в сообщениях пользователю, которые в отчеты не попадают.
Хотелось бы иметь следующую функциональность
В вывод об ошибке добавлять сообщения пользователю, чтобы сократить время на анализ причин ошибок и было понятно, как избежать подобных ошибок в будущем (уточнить отборы, исключения и т.д.).
Для этого:
Перед выполнением теста нужно зачистить предыдущие сообщения: ПолучитьСообщенияПользователю(Истина);
При ошибке собрать накопленные сообщения ПолучитьСообщенияПользователю(Истина)
Это касается всех дымовых тестов, которые выполняют действия, которые могут быть прерваны с помощью Отказ = Истина:
Открытие форм, Запись справочников, Проведение документов.
Пример вывода в allure (желаемое дополнение начинается с "Сообщения: "):
"message": "Не удалось записать "Транспортные происшествия (Вид происшествия)"!
Сообщения: Редактирование общих данных запрещено.
",
"trace": "Не удалось записать "Транспортные происшествия (Вид происшествия)"!
{ВнешняяОбработка.тесты_ЗаписьГруппСправочников.МодульОбъекта(71)}:ГруппаОбъект.Записать();
{(1)}:КонтекстВыполнения.Тест_ЗаписатьГруппуСправочника(Параметры[0]);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(391)}:Выполнить(ИсполняемыйКод);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(282)}:ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры);
{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(1049)}:Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов);
по причине:
Не удалось записать "Транспортные происшествия (Вид происшествия)"!"
Пример вывода junit:
<error message="Не удалось записать "Транспортные происшествия (Вид происшествия)"!
Сообщения: Редактирование общих данных запрещено.
------------------
Не удалось записать "Транспортные происшествия (Вид происшествия)"!
{ВнешняяОбработка.тесты_ЗаписьГруппСправочников.МодульОбъекта(71)}:ГруппаОбъект.Записать();
{(1)}:КонтекстВыполнения.Тест_ЗаписатьГруппуСправочника(Параметры[0]);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(391)}:Выполнить(ИсполняемыйКод);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(282)}:ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры);
{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(1049)}:Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов);
по причине:
Не удалось записать "Транспортные происшествия (Вид происшествия)"!"/>
Т.о. предлагаю дополнять короткий текст ошибки сообщениями пользователя. Функционал можно включать опциональным флагом в настройках дымовых тестов.
The text was updated successfully, but these errors were encountered:
Может быть лучше, чтобы тесты совсем не падали на таких моментах? Это ведь не ошибка приложения, а его задуманное поведение. Срабатывает какой-то контроль, выдаётся сообщение пользователю.
Отличать ошибки приложения от намеренной отмены действий через Отказ = Истина предлагаю так:
В системном окне ошибки (том, для которого ИмяФормы = "ErrorWindow") есть кнопка OpenReport в интерфейсе это гиперссылка "Сформировать отчет об ошибке".
Если эта кнопка видна, то это ошибка приложения, тест должен упасть.
Если кнопка не видна, то это прерванное действие, достаточно нажать "ОК" и продолжать тест.
Отличать ошибки приложения от намеренной отмены действий через Отказ = Истина предлагаю так: ...
Нет, так могут быть пропущены некоторые ошибки, например, неустановленные параметры динамических списков. Отзываю это своё предложение.
Но избавиться от падений на прерванных через Отказ = Истина действиях можно через ключ ПропускаемыеИсключения, например, добавив строки "Не удалось провести" и "Не удалось записать".
Хотя, конечно, лучше когда документ перепроведётся - больше кода выполнится, покрытие тестом будет шире.
Существует проблема
Некоторые дымовые тесты выполняются с ошибкой. Например "Не удалось провести документ", или "Не удалось записать...". А причина подобной ошибки выводится в сообщениях пользователю, которые в отчеты не попадают.
Хотелось бы иметь следующую функциональность
В вывод об ошибке добавлять сообщения пользователю, чтобы сократить время на анализ причин ошибок и было понятно, как избежать подобных ошибок в будущем (уточнить отборы, исключения и т.д.).
Для этого:
Перед выполнением теста нужно зачистить предыдущие сообщения: ПолучитьСообщенияПользователю(Истина);
При ошибке собрать накопленные сообщения ПолучитьСообщенияПользователю(Истина)
Это касается всех дымовых тестов, которые выполняют действия, которые могут быть прерваны с помощью Отказ = Истина:
Открытие форм, Запись справочников, Проведение документов.
Пример вывода в allure (желаемое дополнение начинается с "Сообщения: "):
Пример вывода junit:
Т.о. предлагаю дополнять короткий текст ошибки сообщениями пользователя. Функционал можно включать опциональным флагом в настройках дымовых тестов.
The text was updated successfully, but these errors were encountered: