СС
Size: a a a
СС
А
ПБ
@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_makereport(item):
outcome = yield
rep = outcome.get_result()
setattr(item, "rep_" + rep.when, rep)
return rep
@pytest.fixture(scope="function", autouse=True)
def failed_check(request):
def tear_down():
if request.node.rep_call.failed:
driver = Application().driver
take_screenshot(driver, request)
request.addfinalizer(tear_down)
yield
@pytest.fixture(scope="function")
def function_teardown(app):
yield
browser.switch_tab(1)
browser.close()
browser.switch_tab(0)
СС
ПБ
СС
request.addfinalizer(tear_down). ты уверен что tear_down исполняется в нужный момент?СС
СС
СС
failed_check с автоюзом, у нее есть тирдаун, который добавляется через request.addfinalizer. порядок тут не совсем очевиденПБ
@pytest.fixture(scope="function", autouse=True)
def failed_check(request):
def tear_down():
if request.node.rep_call.failed:
driver = Application().driver
take_screenshot(driver, request)
request.addfinalizer(tear_down)
yield
СС
request.addfinalizer. но полагаю это может не помочьСС
function_teardown явно добавить failed_check после app. по идее это должно выставить правильные зависимости и порядки тирдаунов фикстурСС
А
А
А
СС
А
ПБ
СС
tear_down за yield