Skip to content

Перехват и вывод в отчет сообщений пользователю в дымовых тестах #1075

Description

@p0s0l

Существует проблема
Некоторые дымовые тесты выполняются с ошибкой. Например "Не удалось провести документ", или "Не удалось записать...". А причина подобной ошибки выводится в сообщениях пользователю, которые в отчеты не попадают.

Хотелось бы иметь следующую функциональность
В вывод об ошибке добавлять сообщения пользователю, чтобы сократить время на анализ причин ошибок и было понятно, как избежать подобных ошибок в будущем (уточнить отборы, исключения и т.д.).
Для этого:
Перед выполнением теста нужно зачистить предыдущие сообщения: ПолучитьСообщенияПользователю(Истина);
При ошибке собрать накопленные сообщения ПолучитьСообщенияПользователю(Истина)

Это касается всех дымовых тестов, которые выполняют действия, которые могут быть прерваны с помощью Отказ = Истина:
Открытие форм, Запись справочников, Проведение документов.

Пример вывода в allure (желаемое дополнение начинается с "Сообщения: "):

"message": "Не удалось записать "Транспортные происшествия (Вид происшествия)"!
Сообщения: Редактирование общих данных запрещено.
",
"trace": "Не удалось записать "Транспортные происшествия (Вид происшествия)"!
{ВнешняяОбработка.тесты_ЗаписьГруппСправочников.МодульОбъекта(71)}:ГруппаОбъект.Записать();
{(1)}:КонтекстВыполнения.Тест_ЗаписатьГруппуСправочника(Параметры[0]);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(391)}:Выполнить(ИсполняемыйКод);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(282)}:ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры);
{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(1049)}:Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов);

по причине:
Не удалось записать "Транспортные происшествия (Вид происшествия)"!"

Пример вывода junit:

<error message="Не удалось записать &quot;Транспортные происшествия (Вид происшествия)&quot;!
Сообщения: Редактирование общих данных запрещено.
------------------
Не удалось записать &quot;Транспортные происшествия (Вид происшествия)&quot;!
{ВнешняяОбработка.тесты_ЗаписьГруппСправочников.МодульОбъекта(71)}:ГруппаОбъект.Записать();
{(1)}:КонтекстВыполнения.Тест_ЗаписатьГруппуСправочника(Параметры[0]);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(391)}:Выполнить(ИсполняемыйКод);
{ВнешняяОбработка.xddTestRunner.МодульОбъекта(282)}:ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры);
{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(1049)}:Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов);

по причине:
Не удалось записать &quot;Транспортные происшествия (Вид происшествия)&quot;!"/>

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions