Skip to content

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

@p0s0l

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

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions