Browser Test Reports
What does a TestRelic browser test report contain, and how do I analyze the navigation timeline, network stats, and failure diagnostics?
Browser test reports provide analytics for E2E tests — a navigation timeline, network statistics per page visit, test results, and failure diagnostics, all written to a single JSON file.
What does a report contain?
- Navigation timeline — every URL visited during each test, in chronological order
- Network statistics — request counts, bytes transferred, and resource-type breakdowns per navigation
- Test results — pass/fail/flaky/skipped status, duration, retry count, and tags
- Failure diagnostics — error messages, source snippets pointing to the failure line, and optional stack traces
- CI metadata — auto-detected provider (GitHub Actions, GitLab CI, Jenkins, CircleCI) with build ID, commit SHA, and branch
Report schema
{
"schemaVersion": "1.0.0",
"testRunId": "797128f5-c86d-466c-8d6d-8ec62dfc70b6",
"startedAt": "2026-02-07T10:41:28.759Z",
"completedAt": "2026-02-07T10:41:36.794Z",
"totalDuration": 8035,
"summary": { "total": 6, "passed": 5, "failed": 1, "flaky": 0, "skipped": 0 },
"ci": { "provider": "github-actions", "buildId": "12345678", "commitSha": "abc123def456", "branch": "main" },
"timeline": ["..."]
}| Field | Type | Description |
|---|---|---|
schemaVersion | string | Report format version |
testRunId | string | Auto-generated UUID for this run (overridable) |
summary | object | Counts of total, passed, failed, flaky, skipped |
ci | object | null | Auto-detected CI environment details, or null outside CI |
timeline | array | Chronological list of page navigations with associated tests |
Each timeline entry is a single navigation:
{
"url": "https://en.wikipedia.org/wiki/Main_Page",
"navigationType": "goto",
"visitedAt": "2026-02-07T10:41:29.844Z",
"duration": 216,
"specFile": "tests/homepage.spec.ts",
"networkStats": { "totalRequests": 40, "failedRequests": 0, "totalBytes": 1289736, "byType": { "document": 1, "script": 9 } },
"tests": [{ "title": "homepage.spec.ts > Homepage > loads correctly", "status": "passed", "duration": 1028, "failure": null }]
}navigationType is one of goto, link_click, back, forward, spa_route, hash_change. When a test fails, failure includes a message, a snippet (file, line, surrounding source with a >>> marker on the failing line), and an optional stack.
Analyzing reports
Read my TestRelic browser report at test-results/analytics-timeline.json and:
1. Print the test summary (total, passed, failed, flaky, skipped)
2. List the 5 slowest page navigations (url + duration)
3. List all failed tests with their error messages
Write a Node.js script that does all of this.Write a bash script that reads my TestRelic report (test-results/analytics-timeline.json)
and exits with code 1 if summary.failed > 0, printing the number of failures.
Use jq. The script should be suitable for a GitHub Actions step.CI quality gates
- name: Run Tests
run: npx playwright test
- name: Check for failures
run: |
FAILED=$(jq '.summary.failed' test-results/analytics-timeline.json)
if [ "$FAILED" -gt 0 ]; then
echo "Tests failed: $FAILED"
exit 1
fiNext steps
Was this page helpful?