Проблема с отображением этапа TearDown в отчете Allure

Всех приветствую!

Проект по автотестированию веб-ресурса, на pytest. ЯП python. Для отображения отчетности добавлен allure. В отчетности allure, после прогона теста, не отображается блок TearDown.

введите сюда описание изображения

В файле conftest есть фикстура browser. В ней реализован код этапа teardown, т.е. после завершения основного сценария. Это yield-подобная фикстура. Блок кода после yield:

    yield browser
        try:
            # Сделать локальный скриншот
            screenshot_path_local = os.path.join(SCREENSHOTS_PATH, f'{request.node.nodeid}_{str(uuid.uuid4())}.png')
            img = Image.open(BytesIO(driver.find_element(By.TAG_NAME, 'body').screenshot_as_png))
            img.save(screenshot_path_local, quality=100)
            # allure.attach(
            #     screenshot_path_local,
            #     name=request.function.__name__,
            #     attachment_type=allure.attachment_type.PNG,
            # )
            print('INTEGRATION HERE!')
            print(screenshot_path_local)
            allure.attach.file(
                screenshot_path_local,
                name=request.function.__name__,
                attachment_type=allure.attachment_type.PNG
                )

            print('URL: ', driver.current_url)
        except:
            print(r'ERROR! conftest\integration')
            pass    # Игнор ошибок

Мой принт:

"INTEGRATION HERE"

печатается в выводе pytest. В блок except код НЕ попадает. Более того, среди данных для allure (каталог по умолчанию ./allure_results) есть необходимые данные: а именно скриншот, ради которого я вообще всё это делаю)

Т.е. в данных для allure скриншот из этапа TearDown присутствует, но сам этап в отчетности allure не отображается.

В проекте несколько групп тестов. Файл conftest, содержащий кусок кода выше, принадлежит только одной группе тестов. Этот файл наследует фикстуры из общего, родительского conftest. Фикстура browser - переписана именно для этой группы тестов. Впрочем, наличие принтов из этого куска кода показывает, что мы всё-таки попадаем сюда.

В чем же проблема?


Ответы (0 шт):