Клиентская библиотека Allure на C#

Описание создания клиентской библиотеки для генерации отчетов 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.

Сгенерируем отчет после прогона тестов: Отчёт Отчёт Отчёт

02.06.2019 ← на главную Теги: allure, csharp