Код-ревью 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, скриншот и трейс прикладываются хуком при падении для всех тестов сразу.

Что должен найти ревьюер

  1. Стильстрока 4
    Шаги названы технически («click», «fill»): в отчёте непонятно, что происходило
  2. Безопасностьстрока 10
    В отчёт прикладываются номер карты и CVV: утечка чувствительных данных в артефакты CI
  3. Стильстрока 14
    Оплата помечена как trivial: критичность отчёта неверная, фильтры по severity бесполезны
  4. Ошибкастрока 18
    is_visible() без ожидания: флаки; нужен expect(...).to_be_visible()
  5. Стильстрока 18
    Нет вложения при падении (скриншот, трейс): разбирать будет нечего

Разбор

Правильно: шаги «Ввести данные карты», «Нажать Оплатить» с параметрами (номер маскируется), severity critical, проверка через web-first assertion, скриншот и трейс прикладываются хуком при падении для всех тестов сразу.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.