← Назад ко всем вопросам

Как подключается Allure к PyTest и какие артефакты обычно прикладывают?

1️⃣ Как кратко ответить

Allure подключается к PyTest с помощью установки плагина pytest-allure-adaptor. Для генерации отчетов необходимо запускать тесты с параметром --alluredir, указывающим директорию для хранения результатов. Обычно к отчетам прикладывают скриншоты, логи, файлы с данными и видео выполнения тестов.

2️⃣ Подробное объяснение темы

Allure — это инструмент для создания отчетов о тестировании, который помогает визуализировать результаты тестов в удобном и наглядном формате. Он интегрируется с различными фреймворками тестирования, включая PyTest, и позволяет прикладывать к отчетам различные артефакты, такие как скриншоты, логи и другие файлы.

Подключение Allure к PyTest

  1. Установка плагина: Для начала необходимо установить плагин pytest-allure-adaptor, который позволяет PyTest взаимодействовать с Allure. Это делается с помощью команды:

    pip install allure-pytest
    
  2. Запуск тестов с Allure: Чтобы PyTest генерировал результаты в формате, который понимает Allure, тесты нужно запускать с дополнительным параметром --alluredir. Этот параметр указывает директорию, в которую будут сохраняться результаты тестов:

    pytest --alluredir=allure-results
    

    Здесь allure-results — это директория, куда будут сохраняться результаты выполнения тестов.

  3. Генерация отчета: После выполнения тестов и сохранения результатов, необходимо сгенерировать HTML-отчет. Это делается с помощью команды Allure:

    allure serve allure-results
    

    Эта команда запускает локальный сервер и открывает отчет в браузере.

Артефакты, прикладываемые к отчетам

Allure позволяет прикладывать к отчетам различные артефакты, которые помогают лучше понять, что происходило во время выполнения тестов:

  • Скриншоты: Полезны для визуализации состояния приложения в момент выполнения теста. Скриншоты можно делать автоматически при падении теста или вручную в нужных местах.

  • Логи: Включают в себя текстовые файлы с логами выполнения тестов, которые помогают отследить последовательность действий и выявить причины ошибок.

  • Файлы с данными: Это могут быть входные данные, которые использовались в тестах, или ожидаемые результаты.

  • Видео выполнения тестов: Полезно для UI-тестов, чтобы увидеть, как именно выполнялся тест.

Пример кода с комментариями

Пример того, как можно прикладывать скриншоты и логи к отчету:

import pytest
import allure
​
@allure.step("Шаг 1: Открыть главную страницу")
def open_main_page():
    # Код для открытия главной страницы
    pass
​
@allure.step("Шаг 2: Выполнить действие")
def perform_action():
    # Код для выполнения действия
    pass
​
def test_example():
    with allure.step("Открытие страницы"):
        open_main_page()
        # Добавление скриншота
        allure.attach.file("screenshot.png", name="Скриншот главной страницы", attachment_type=allure.attachment_type.PNG)
​
    with allure.step("Выполнение действия"):
        perform_action()
        # Добавление логов
        allure.attach("Логи выполнения", "Текст логов", allure.attachment_type.TEXT)
  • @allure.step — декоратор, который добавляет шаги в отчет Allure, делая его более структурированным.
  • allure.attach.file — метод для прикрепления файлов, таких как скриншоты, к отчету.
  • allure.attach — метод для прикрепления текстовых данных, таких как логи.

Использование Allure с PyTest позволяет не только получить подробные отчеты о тестировании, но и улучшить процесс анализа результатов, что делает его важным инструментом в арсенале автоматизатора тестирования.

Тема: PyTest
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки