Описание создания клиентской библиотеки для генерации отчетов Allure.
Для создания хелпера, с помощью которого можно создавать шаги для отчета Allure, передавать в отчет скриншоты, логи и прочее (см. предыдущий пост), мне понадобилась клиентская библиотека. Аналог, например, пакета "allure-junit". Библиотека должна была работать с тестами на MSTest и NUnit.
Для начала я написал несколько классов-атрибутов, через которые будут передаваться данные о тесте в отчет.
Пример. Атрибут, передающий название теста:
[AttributeUsage(AttributeTargets.Method)] public class AllureTestName : Attribute { private string TestName { get; } public AllureTestName(string testName) { TestName = testName; } }
Перед стартом автотеста в методах TestInitialize (MSTest) и SetUp (NUnit) доступен объект TestContext. Из его свойств получаем название тестового метода и класса, в котором расположен метод. По их названиям через рефлексию получаем доступ к атрубутам класса и метода. Значения, хранящиеся в атрибутах, используем для передачи в отчет.
Шаги Allure я добавил ко всем основным методам фреймворка, таким как Open, Click, SendKeys и т.д., по аналогии с хелпером на java.
Сгенерируем отчет после прогона тестов: