Как подключается Allure к PyTest и какие артефакты обычно прикладывают?
1️⃣ Как кратко ответить
Allure подключается к PyTest с помощью установки плагина pytest-allure-adaptor. Для генерации отчетов необходимо запускать тесты с параметром --alluredir, указывающим директорию для хранения результатов. Обычно к отчетам прикладывают скриншоты, логи, файлы с данными и видео выполнения тестов.
2️⃣ Подробное объяснение темы
Allure — это инструмент для создания отчетов о тестировании, который помогает визуализировать результаты тестов в удобном и наглядном формате. Он интегрируется с различными фреймворками тестирования, включая PyTest, и позволяет прикладывать к отчетам различные артефакты, такие как скриншоты, логи и другие файлы.
Подключение Allure к PyTest
-
Установка плагина: Для начала необходимо установить плагин
pytest-allure-adaptor, который позволяет PyTest взаимодействовать с Allure. Это делается с помощью команды:pip install allure-pytest -
Запуск тестов с Allure: Чтобы PyTest генерировал результаты в формате, который понимает Allure, тесты нужно запускать с дополнительным параметром
--alluredir. Этот параметр указывает директорию, в которую будут сохраняться результаты тестов:pytest --alluredir=allure-resultsЗдесь
allure-results— это директория, куда будут сохраняться результаты выполнения тестов. -
Генерация отчета: После выполнения тестов и сохранения результатов, необходимо сгенерировать 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 позволяет не только получить подробные отчеты о тестировании, но и улучшить процесс анализа результатов, что делает его важным инструментом в арсенале автоматизатора тестирования.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться