目前,我正在使用以下解决方案在 PyTest 的每个测试函数结束时截取屏幕截图。如何确保仅在测试失败时才截取屏幕截图?这是一个关于 PyTest 机制的问题。这个问题与硒或 appium 无关。
我在 Stackoverflow 上发现了类似的问题,但并不完全相同。为其他问题提供的解决方案无法回答我的问题。由于使用 PyTest 对测试失败进行截图是一个常见问题,我相信它应该得到一个单独且非常具体的答案。
@pytest.fixture(scope="function", autouse=True)
def take_screenshot(self, appium_driver):
yield
time.sleep(1)
current_filename_clean = os.path.basename(__file__).replace("test_", "").replace(".py", "")
current_test_name = os.environ.get("PYTEST_CURRENT_TEST").split(":")[-1].split(" ")[0].replace("test_", "")
appium_driver.get_screenshot_as_file(
f'test_reports/{current_filename_clean}_android_{current_test_name}_{datetime.today().strftime("%Y-%m-%d")}.png')
守着星空守着你
蝴蝶刀刀
相关分类