Sobes.tech
Middle

Haben Sie mit Allure gearbeitet? Welche Annotations können Sie nennen? Ist es möglich, einen Screenshot anzuhängen und wie? Wo werden die Ergebnisse der Ausführung gespeichert? Wie integriert man Allure mit CI/CD (Jenkins)?

sobes.tech KI

Antwort von 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 системами.