Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 2

Эх. Думал тут будет описаны различные фичи. Например можно настроить аллюр что бы отчёт содержал скриншоты не только при падении но и после каждого шага(иногда нужно хоть и захламляет ресурсы). Или что самое интересное в самом скриншоте обводит ту область где произошло падение(если это xpath не правильный например) то же удобная вещь если впервые тебе передали не знакомые тебе тесты на поддержку.

Спасибо за отклик. Да, текст немного не об этом получился(

Что касается скриншотов на шагах, эту задачу нужно решать в коде на уровне фреймворка, и соответственно решение будет зависеть от того, какой у Вас стек. Например, в питоне можно попробовать обернуть аллюровский allure.step в кастомную функцию и оборачивать шаги в неё, как-нибудь так:

from contextlib import contextmanager

SCREENSHOT_ON_STEP = True

@contextmanager
def step_with_screenshot(driver, step_name):
    with allure.step(step_name):
        yield
        if SCREENSHOT_ON_STEP:
            attach_screenshot(driver)

ну и отдельно прописать функцию для скриншотов (которая attach_screenshot. Соответственно в тесте пишем -

with step_with_screenshot(driver, "Example step"):
    # пишем наш шаг 

Аналогично можно и кастомный декоратор сделать. А если надо отключить скриншоты - выключаем флаг SCREENSHOT_ON_STEP. Не знаю, насколько это красивое решение; есть и другие способы - например, вот здесь.

Если более общо хочется посмотреть как настроить скриншоты в отчетах - на сайте аллюра есть гайды (например, по junit5+selenide или по pytest+playwright), там можно подробный пример с кодом добыть.

Что касается выделения области на скриншоте - это можно решить только на стороне фреймворка, и соответственно чтобы найти решение надо знать какой у Вас стек. Скорее всего там придётся какие-то манипуляции совершать руками в кастомной функции для скриншотов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий