Skip to content

Timeline - #201

Merged
shossain786 merged 16 commits into
seleniumboot:masterfrom
Danish-git123:timeline
Oct 26, 2026
Merged

shossain786 merged 16 commits into
seleniumboot:masterfrom
Danish-git123:timeline

Conversation

@Danish-git123

@Danish-git123 Danish-git123 commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Add a Timeline (Gantt-style) view to the HTML report. Each test is rendered as a bar on its thread lane, positioned by startedAtMs
offset from the earliest start (end = startedAtMs + totalMs). The timeline card is hidden entirely when startedAtMs is missing (e. OpenCode includes free models
g. old history files). Lanes are built per thread and single-thread runs are handled correctly.

Type of change

  • Bug fix
  • New feature (non-breaking change which adds functionality)
  • Breaking change
  • Documentation update
  • Refactoring

Notes for reviewers

  • Rebased onto master (aligns with report partials refactor Align report theme and refactor markup structure #194). {{TIMELINE_SECTION}} is placed in report/partials/dashboard.html as requested.
  • Removed unused buildTimelineEmptyCard and .timeline-note styles.
  • Updated exportToJson_includesStartAndEndTimestamps to assert on measured duration instead of a circular assertion. so you can start immediately.
  • Kept changes minimal and compatible with the new partial-based markup structure.
  • Also Take a look on TimelineDemoTest.java on running that test case and after hitting target/selenium-boot-report.html u will be getting timeline cards onto the browser

#163

@shossain786

Copy link
Copy Markdown
Contributor

Thanks @Danish-git123, this does what #163 asked (startedAtMs exported, card hidden when missing). To fix:

  1. Conflicts with master: Align report theme and refactor markup structure #194 moved the template into partials. Please rebase and put {{TIMELINE_SECTION}} in report/partials/dashboard.html.
  2. Remove unused code: buildTimelineEmptyCard and .timeline-note.
  3. exportToJson_includesStartAndEndTimestamps has a circular assert (start + total == start + total). Assert against the measured duration instead.
  4. Please tick the PR template boxes and describe the change briefly.
    CI hasn't run yet; it will after the rebase.

@Danish-git123

Copy link
Copy Markdown
Contributor Author

Ok Sir i will work on it

@Danish-git123

Copy link
Copy Markdown
Contributor Author
Screenshot 2026-10-25 013907

I have made the changes accordingly and also getting the timeline charts

@shossain786

Copy link
Copy Markdown
Contributor

Thanks @Danish-git123, the timeline works and your tests pass. One blocker before merge: the branch still carries the old monolithic src/main/resources/report-template.html (+212 lines). Master's is now a thin 22-line template ({{REPORT_MARKUP}}, {{REPORT_CSS}}, {{REPORT_JS}}, {{CHART_JS}}) after #194. Merged as-is it would revert that restructure and the report breaks, and the tests don't catch it.

To fix:

  1. git fetch upstream && git rebase upstream/master (or merge master).
  2. Take master's version of report-template.html unchanged: git checkout upstream/master -- src/main/resources/report-template.html.
  3. Keep {{TIMELINE_SECTION}} only in report/partials/dashboard.html, and your CSS in report.css.
  4. Run TimelineDemoTest, open target/selenium-boot-report.html and check the dashboard and timeline still render.

CI will run after the push.

@Danish-git123

Copy link
Copy Markdown
Contributor Author

Ok i will solve it

@Danish-git123

Copy link
Copy Markdown
Contributor Author

All the changes as per your recommendation has been done
fetched the updated report-template.html, timeline section is in dashboard.html and timelinedemotest is running properly as it is intended to be
Thanks!

shossain786 and others added 4 commits October 26, 2026 10:05
…ding it

A single never-started test (e.g. skipped by dependency) made
buildTimelineSection return "", so any run with a skipped test lost the
whole timeline. Skip such tests; hide the card only when none remain.
Also tighten the duration assert and rename a misnamed test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The previous push committed unresolved conflict markers, so the branch did
not compile. Keep one doc/comment, keep both skipped-test tests, and make
the exclusion assert check the test id (the legend itself contains the
word "skipped").

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
It drives a real browser against example.com (8 tests, up to 6s each) and
made the CI "Run unit tests" step run for 45+ minutes. The timeline logic
stays covered by TimelineReportTest and ExecutionMetricsTest.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@shossain786
shossain786 merged commit f94a44b into seleniumboot:master Oct 26, 2026
2 checks passed
@shossain786

Copy link
Copy Markdown
Contributor

Merged, thanks @Danish-git123! Two notes: we fixed leftover conflict markers and skipped tests hiding the whole timeline, and removed TimelineDemoTest since its real-browser run made CI take 45+ minutes. Timeline logic stays covered by TimelineReportTest.

@SumerManer-17

Copy link
Copy Markdown
Contributor

Greate work Danish

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants