One of the challenges in test automation is keeping track of where each test belongs:
- Which JIRA ticket does it cover?
- Is there a linked test case ID in Testmo or Notion?
- Can I see bug reports linked directly from failing tests?
Normally, this means a lot of manual mapping, plugins, or custom scripts. Also, with bloated reporting tools its more of navigation than instantly doing it. plus the way to enable is to configure their own custom markers.
I was surprised to see that in pytest-html-plus, it’s already built in and accommodated very much in their single page reporter.
How It Works
The HTML report comes with search bar. Just type(either partial or full) and tests are instantly filtered by:
- Test names
- Linked external IDs (JIRA-123, DOC-456, etc.)
- Custom URLs or keywords
That means if you tagged your tests with a JIRA issue or a test case ID, you can just type that ID in the report and immediately see all related tests
You don’t need any custom logic. Just use standard pytest.mark decorators:
import pytest
@pytest.mark.jira("https://jira.example.com/browse/PROJ-123")
@pytest.mark.testcase("https://testcases.example.com/case/5678")
def test_login():
assert True
That’s it.
When you generate the report, these links show up next to your test case, clickable, so you can jump directly to JIRA, Notion, or your test case system.
Tracing Coverage
Searching for a quoted ID (like PROJ-123) shows you all tests linked to that reference.
Before I could think what about the cases where we may have missed tracking? I saw the filter called, filter for unlinked tests
(using the “Show Untracked” filter) to see which ones aren’t mapped to any external system yet and this was a game changer, I could easily and tag all the test cases with the relevant JIRA and bug ids and this has become our new metric in my company.
This also makes it easy to:
- Shows how many test cases we have automated
- Check test automation coverage during release cycles
- Group results by feature or ticket
- Spot untracked cases that need linking
Why I Like This
No extra setup. No additional plugins. No scripts to maintain.
It’s just pytest.mark + run tests → open report → search and navigate. We did not need a huge test management tool to do this job.
Traceability is one of those things that’s usually painful, but here it feels natural.
That’s all — clean, built-in traceability without extra effort.
You can checkout the report by installing and running your pytest
pip install pytest-html-plus
Frankly, installation is all what matters to generate this wonderful report, so I did not mention any commands about pytest as you can use them as usual.
Check out the their plugin and the repo here:
Top comments (0)