Код-ревью Middle Отчётность и Allure обновлено
Ревью: шаги и вложения Allure
Вопрос
Найдите проблемы в разметке отчёта.
import allure
class CheckoutPage:
@allure.step("click")
def click_pay(self):
self.page.get_by_role("button", name="Оплатить").click()
@allure.step("fill")
def fill_card(self, number, cvv):
allure.attach(f"{number} {cvv}", "card", allure.attachment_type.TEXT)
self.page.get_by_label("Номер карты").fill(number)
self.page.get_by_label("CVV").fill(cvv)
@allure.severity(allure.severity_level.TRIVIAL)
def test_payment(checkout):
checkout.fill_card("4111111111111111", "123")
checkout.click_pay()
assert checkout.page.get_by_text("Оплачено").is_visible()
Коротко
Правильно: шаги «Ввести данные карты», «Нажать Оплатить» с параметрами (номер маскируется), severity critical, проверка через web-first assertion, скриншот и трейс прикладываются хуком при падении для всех тестов сразу.
Что должен найти ревьюер
- Стильстрока 4Шаги названы технически («click», «fill»): в отчёте непонятно, что происходило
- Безопасностьстрока 10В отчёт прикладываются номер карты и CVV: утечка чувствительных данных в артефакты CI
- Стильстрока 14Оплата помечена как trivial: критичность отчёта неверная, фильтры по severity бесполезны
- Ошибкастрока 18is_visible() без ожидания: флаки; нужен expect(...).to_be_visible()
- Стильстрока 18Нет вложения при падении (скриншот, трейс): разбирать будет нечего
Разбор
Правильно: шаги «Ввести данные карты», «Нажать Оплатить» с параметрами (номер маскируется), severity critical, проверка через web-first assertion, скриншот и трейс прикладываются хуком при падении для всех тестов сразу.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.