Unified Test Reports (Browser + API)
What does a TestRelic unified report contain, and how do I analyze combined E2E navigation and API test data?
Unified test reports combine browser navigation analytics and API test results in a single JSON file. When a test uses both page and request fixtures, TestRelic captures navigation timelines and test outcomes together.
What does a report contain?
- Navigation timeline — every URL visited, navigation type, duration, and network statistics
- Test results — pass/fail/flaky/skipped status for every test, regardless of whether it used
page,request, or both - Failure diagnostics — error messages and source snippets for any failing test
- CI metadata — auto-detected CI provider details
Report schema
Same top-level structure as Browser Reports. Each timeline entry captures a page navigation (if the test used page) plus the associated test results:
{
"url": "https://en.wikipedia.org/wiki/Main_Page",
"navigationType": "goto",
"duration": 890,
"specFile": "tests/unified/wikipedia-api.spec.ts",
"networkStats": { "totalRequests": 40, "totalBytes": 1289736 },
"tests": [{ "title": "search Wikipedia and validate API data", "status": "passed", "duration": 3456, "failure": null }]
}A failure in a unified test attributes to whichever part of the test raised it — check the failure snippet's file and line to tell API failures from browser assertion failures apart:
{
"failure": {
"message": "expect(received).toHaveText(expected)\n\nExpected: \"Leanne Graham\"\nReceived: \"\"",
"snippet": { "file": "tests/unified/user-validation.spec.ts", "line": 18 }
}
}A hand-recreated slice of the unified timeline — browser navigations and API calls
interleaved chronologically, each attributed to its test. Expand the failed API call to
see the failing assertion and its file:line attribution.
Analyzing reports
Read my TestRelic unified report at test-results/analytics-timeline.json and:
1. Print the test summary (total, passed, failed, flaky, skipped)
2. List all page navigations with the tests that ran on each page
3. Find any failed tests across both browser and API tests
Write a Node.js script using fs.readFileSync.CI integration
- name: Check for failures
run: |
FAILED=$(jq '.summary.failed' test-results/analytics-timeline.json)
if [ "$FAILED" -gt 0 ]; then
echo "Unified tests failed: $FAILED"
exit 1
fi