AttributeError: ‘Class’ object has no attribute ‘rep_call’

  fixtures, pytest, python, selenium

I want to test web-application with the use of Pytest and Selenium. I want to capture screenshots only when a test method fails. I have the following fixture:

def driver_init(request):
    # set up driver

    def close_driver():
        driver.quit()

    request.cls.driver = driver
    request.addfinalizer(close_driver)
    yield driver
    if request.node.rep_call.failed:
        try:
            allure.attach(driver.get_screenshot_as_png(), name=request.function.__name__, attachment_type=AttachmentType.PNG)
        except:
            pass

However when I run this code and the test method fails I receive a following error:

AttributeError: ‘Class’ object has no attribute ‘rep_call’.

What am I doing wrong?

Source: Python Questions

LEAVE A COMMENT