Какие аннотации Allure вы знаете?

«Какие аннотации Allure вы знаете?» — вопрос из категории Логирование и отчётность, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Allure для Java-стека я активно использую аннотации для структурирования отчётов и добавления метаданных к тестам. Основные из них:

  • @Step — помечает метод как шаг в отчёте. Аргументы метода автоматически подставляются в описание, что делает отчёт очень наглядным.
    @Step("Проверка логина пользователя {username}")
    public void checkLogin(String username) {
        // Код проверки
    }
  • @Description — добавляет текстовое описание к тестовому методу или шагу.
    @Test
    @Description("Проверка добавления товара в корзину для авторизованного пользователя")
    public void testAddToCart() { ... }
  • @Link и @Issue — привязывают тест к внешним ресурсам, например, к тикету в Jira или странице документации.
    @Test
    @Issue("PROJ-123")
    @Link(name = "Требования", url = "https://wiki/project/req")
    public void testNewFeature() { ... }
  • @Epic, @Feature, @Story — используются для функциональной группировки тестов в отчёте по методологии BDD.
    @Epic("Пользовательский аккаунт")
    @Feature("Авторизация")
    @Story("Вход по паролю")
    @Test
    public void testLoginWithPassword() { ... }
  • @Severity — задаёт уровень критичности теста (BLOCKER, CRITICAL, NORMAL, MINOR, TRIVIAL). Это помогает быстро оценить важность упавших проверок.
    @Test
    @Severity(SeverityLevel.CRITICAL)
    public void testPaymentProcessing() { ... }
  • @Flaky — маркирует нестабильный тест, который может периодически падать без изменений в коде. В отчёте на такой тест обращают особое внимание.
  • @Attachment — самый полезный для отладки. Позволяет прикрепить к отчёту любые данные: скриншоты, логи, JSON-ответы.
    @Attachment(value = "Скриншот ошибки", type = "image/png")
    public byte[] saveScreenshot(byte[] screenShot) {
        return screenShot;
    }

    Использование этих аннотаций превращает сырой лог выполнения в понятный, структурированный отчёт, по которому легко анализировать результаты и находить корень проблемы.