📝 Задания: Allure Framework
⚡ Задания из лекции
- Что такое Allure и зачем он нужен?
- Какие преимущества Allure?
- Какие декораторы используются в Allure?
- Как добавить вложения (SQL-запросы, скриншоты) в Allure?
- Как автоматизировать запуск тестов с генерацией отчёта Allure?
Теоретические вопросы (из лекции)
Задание 1
Что такое Allure Framework и зачем он нужен в автотестировании?
Задание 2
Перечислите основные возможности Allure Framework (4 категории).
Задание 3
Какие декораторы используются в Allure для разметки тестов? Опишите каждый.
Задание 4
Как в Allure добавить вложения (например, SQL-запросы или скриншоты)? Напишите сигнатуру метода и опишите параметры.
Задание 5
Как автоматизировать запуск тестов с генерацией отчёта Allure? Опишите последовательность команд.
Практические задания (код)
Задание 6
Добавьте разметку Allure к следующему классу тестов компаний. Используйте: @allure.epic, @allure.severity, @allure.story, @allure.feature, @allure.title.
# tests/test_companies.py — ЗАДАНИЕ: добавить разметку Allure
class CompanyTest:
api = CompanyApi("https://x-clients-be.onrender.com")
def test_get_companies(self):
result = self.api.get_company_list()
assert len(result) > 0
def test_get_active_companies(self):
result = self.api.get_company_list(params_to_add={"active": True})
assert all(c["isActive"] for c in result)
def test_add_new(self):
result = self.api.create_company("TestCompany")
assert result["name"] == "TestCompany"
Задание 7
Разбейте метод test_add_new на явные шаги с помощью with allure.step. Шаги должны быть: «Получить количество ДО», «Создать компанию» (с вложенными шагами: «Сгенерировать название», «Вызвать API»), «Проверить поля», «Получить количество ПОСЛЕ», «Сравнить».
Задание 8
Добавьте декоратор @allure.step с динамическим параметром к методам следующего класса:
# api/company_api.py — ЗАДАНИЕ: добавить @allure.step с параметрами
class CompanyApi:
def get_company(self, id):
...
def create_company(self, name, description=""):
...
def delete(self, id):
...
В строке шага должны фигурировать значения параметров (id, name).
Задание 9
Добавьте в метод get_companies класса CompanyTable вложение SQL-запроса в отчёт Allure. Вложение должно иметь тип TEXT и содержательный заголовок.
Задание 10
Напишите PowerShell-скрипт run.ps1, который: очищает предыдущие результаты и отчёт, запускает тесты с записью в allure-results, генерирует HTML-отчёт в allure-report и открывает его в браузере.