Как настроить фиктуру, в базовом классе от которого наследуюсь. Что бы если при запуске через Pytest после падения теста, драйвер делал скриншот?
Вот пример для pytest + allure, может поможет:
@pytest.mark.tryfirst
def pytest_runtest_makereport(item, call, __multicall__):
rep = __multicall__.execute()
setattr(item, "rep_" + rep.when, rep)
return rep
@pytest.fixture(scope="function")
def screenshot_on_failure(request):
def fin():
driver = SeleniumWrapper().driver
attach = driver.get_screenshot_as_png()
if request.node.rep_setup.failed:
allure.attach(request.function.__name__, attach, allure.attach_type.PNG)
elif request.node.rep_setup.passed:
if request.node.rep_call.failed:
allure.attach(request.function.__name__, attach, allure.attach_type.PNG)
request.addfinalizer(fin)
Для использования нужно маркать тест на использование фикстуры screenshot_on_failure