M
Size: a a a
M
MR
EB
pytest_generate_tests exampleM
ПБ
@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
def take_screenshot(driver, request):
sep = os.path.sep
test_name = request.node.nodeid
root_folder = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(root_folder, f'src{sep}reports{sep}screenshots{sep}')
driver.save_screenshot(f"{file_path}{time.time()}screenshot_{test_name}.png".replace("::", "__"))
СС
СС
СС
СС
if request.node.rep_call.failed не срабатывает, скриншота нетПБ
ПБ
P
СС
СС
ПБ
test_name = request.node.nodeidСС
СС
BK
ПБ