Sobes.tech
Middle

Оё бо Allure кор кардаед? Кадом аннотацияҳоро метавонед номбар кунед? Оё имкон дорад скриншот замима кунед ва чӣ гуна? Натиҷаҳои иҷро чӣ гуна нигоҳ дошта мешаванд? Чӣ гуна Allure-ро бо CI/CD (Jenkins) пайваст кардан мумкин аст?

sobes.tech AI

Ҷавоб аз 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 системами.