Добрый день!
Стал на днях причесывать тесты по одному моему старому проекту. И вот при анализе прогона тестов в отчете Allure подумалось мне, что очень неудобно определять причины падений. Суть в чём: у меня тесты состоят из шагов, есть жесткие ассерты и магкие (сделаны через ErrorCollector). Если тест падает по жесткому ассерту, то там всё более-менее понятно, что и где упало. А вот если тест дошел до конца, но по какой-то причине отвалилось 3, 4 или N проверок, то мне тогда нужно заходить внутрь каждого шага и смотреть, что там лежит в аттаче (у меня сделан аттач с текстом вида: ошибка при проверке поля такого-то: ожидали “х”, получили “у”). Но по внешним признакам такой шаг в отчете не виден, они все зеленые в ответе. Тут еще такая особенность, что ошибка в ErrorCollector’е не видна просто так.
Я бегло погуглил по теме, но ничего внятного не нашел, только в паре мест упоминались в вопросах:
https://stackoverflow.com/questions/29021244/allure-framework-how-to-fail-only-one-step-in-the-test-method
https://github.com/allure-framework/allure2/issues/456
И даже на нашем форуме есть тема схожая, но немного о другом. Кстати, на вопрос тот так никто и не ответил…
https://automated-testing.info/t/allure-cucumber-jvm-prikreplenie-attachmentov-k-upavshemu-shagu-v-otchyote-allure-v-zavisimosti-ot-tega-cucumber-feature/9976
Причём тут вопрос даже не в том, чтобы я смог быстро понять по отчету что-то, а в том, чтобы и другим людям приносил максимальную пользу. Сейчас же в отчете множество зеленых Step’ов внутри которых скрывается описание ошибки и чтобы понять что к чему - нужно все шаги развернуть и проверить вложения.
Может в 3-й такое есть? Артем вроде бы недавно про неё делал доклад даже:
Артем Ерошенко — Вы всё еще пилите свой отчет? Тогда мы идем к вам!
Я увидел в докладе про постройку своего дерева тестов, но не понимаю как в это дерево красить шаги. Т.е. теоретически в момент чека и добавления ошибки в errorCollector, я могу узнать из какого шага возникло данное исключение, но что мне дальше делать с этой информацией - пока не знаю.
У кого-то было что-то похожее? Использовать один тест - одну проверку или валить тест при первом же ассерте - не вариант. Использовал когда-то свой самопальный html-отчет в виде таблички, так там каждую упавшую проверку было видно сразу и понятно было в каком месте и что искать.