pytest-dev / pytest-html

Plugin for generating HTML reports for pytest results
Other
692 stars 234 forks source link

Ability to find the report location from within tests? (To ensure images are located correctly) #824

Open cc-stjm opened 2 months ago

cc-stjm commented 2 months ago

I see that when adding an image with a relative path, it needs to be relative to the output report HTML.

From the command line, it's possible to run e.g. pytest --html ../report.html - is there any way to be able to get this path from within a test? That would allow me to save images to an appropriate relative path.

(I can't use absolute paths as I want to be able to copy the report & its assets to CI)

cc-stjm commented 2 months ago

In case it helps anyone, I've found a workaround:

in conftest.py:

_htmlpath = None

def pytest_html_report_title(report):
    global _htmlpath
    _htmlpath = report.config.getoption("htmlpath")

@pytest.fixture
def htmlpath():
    return _htmlpath