从conftest.py访问测试文件名

时间:2018-05-17 13:57:57

标签: python pytest fixtures

我正在尝试做什么

我正在使用pytest在python中编写一个小框架,作为拆解的一部分,我正在截取屏幕截图。 现在,我希望根据运行测试命名屏幕截图,而不是conftest.py 所以,例如,我现在的代码是:

driver.save_screenshot(os.path.basename(__file__)+'.png')

问题

这将打印名称“conftest.py”。 如果可能,我想打印调用测试名称。我在猜测使用请求?

1 个答案:

答案 0 :(得分:1)

您可以通过request.node.fspath访问当前文件路径。例如:

# conftest.py
import pytest

@pytest.fixture
def currpath(request):
    return str(request.node.fspath)