Sobes.tech
Back to questions
Middle
11

Работал ли с Allure? Какие аннотации можешь назвать? Можно ли прикрепить скриншот и как? Где хранятся результаты прогона? Как состыковать Allure с CI/CD (Jenkins)?

Companies where asked
IT1

Answer from AI

sobes.tech AI

Allure — это популярный фреймворк для генерации красивых и информативных отчетов по результатам тестов.

Аннотации в Allure (на примере Java, но концепция похожа и в других языках):

  • @Step — для описания шагов теста
  • @Attachment — для прикрепления файлов (скриншотов, логов)
  • @Feature, @Story — для группировки тестов по функционалу
  • @Severity — для указания важности теста

Прикрепить скриншот:

@Attachment(value = "Screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
    return screenShot;
}

В тесте можно вызвать этот метод, передав байты скриншота, чтобы он появился в отчёте.

Где хранятся результаты прогона? Allure сохраняет результаты в виде набора файлов (JSON, XML, вложения) в папке allure-results (по умолчанию). Затем из этих данных генерируется HTML-отчет.

Интеграция с CI/CD (например, Jenkins):

  1. В Jenkins запускается тестовый прогон, который сохраняет результаты в allure-results.
  2. После прогона вызывается команда генерации отчёта allure generate.
  3. Отчёт публикуется с помощью плагина Allure Jenkins Plugin.

Пример Jenkins pipeline:

stage('Test') {
    steps {
        sh './gradlew test'
    }
}
stage('Allure Report') {
    steps {
        allure includeProperties: false, results: [[path: 'build/allure-results']]
    }
}

Таким образом, Allure позволяет удобно визуализировать результаты тестов, прикреплять артефакты и интегрироваться с CI/CD системами.