Python 从conftest.py访问测试文件名

Python 从conftest.py访问测试文件名,python,pytest,fixtures,Python,Pytest,Fixtures,我想做的事 我正在使用pytest用python编写一个小框架,作为拆卸的一部分,我正在拍摄一个屏幕截图。 现在,我希望该屏幕截图根据正在运行的测试命名,而不是conftest.py 例如,我现在的代码是: driver.save_screenshot(os.path.basename(__file__)+'.png') 问题 这将打印名称“conftest.py”。 如果可能,我想打印调用测试名称。我猜是在使用请求吗 您可以通过request.node.fspath访问当前文件路径。例如:

我想做的事

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

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

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

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

# conftest.py
import pytest

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