Skip to content

Feat/feature sortable columns - #242

Merged
shossain786 merged 5 commits into
seleniumboot:masterfrom
PUSHPAK-JAISWAL:feat/feature-sortable-columns
Nov 7, 2026
Merged

shossain786 merged 5 commits into
seleniumboot:masterfrom
PUSHPAK-JAISWAL:feat/feature-sortable-columns

Conversation

@PUSHPAK-JAISWAL

Copy link
Copy Markdown
Contributor

What & why

The Test Cases table headers (Test, Status, Logic ms, Total ms) in the HTML report were plain static text. Users troubleshooting test runs had to manually scan through tables to locate slow tests or group failures.

This PR introduces client-side sortable columns to the Test Cases table:

  • Clicking any of the Test, Status, Logic (ms), or Total (ms) headers toggles sorting in ascending order (▲), and clicking again reverses to descending (▼).
  • Numeric Duration Sorting: Uses integer millisecond attributes (data-logic-ms and data-total-ms) emitted by HtmlReportGenerator.java, ensuring sorting is purely numeric and unaffected by matrix-run column shifts or textual formatting.
  • Alphabetical Sorting: Sorts text columns (Test, Status) case-insensitively.
  • Group-Preserving Architecture: Sorts test rows within each test class group. This preserves the class structure, failure details (tr.detail-row), step logs, error panels, and group collapse/expand toggles without row disassociation.
  • Filter & Search Cooperation: Sorting dynamically respects and synchronizes with active status filters (ALL, PASSED, FAILED, SKIPPED, FLAKY), search query filtering, and tag filters without leaking hidden rows.
  • Theme & Media Support: Sortable headers and indicators utilize CSS variables for seamless light/dark theme switching and are cleanly omitted in print stylesheets.

Closes #217

Type of change

  • Bug fix
  • New feature (opt-in, aligned with the framework philosophy)
  • Documentation
  • Internal refactor / test coverage

Checklist

  • All existing tests pass (mvn clean verify)
  • New behaviour is covered by unit tests
  • No new external dependencies introduced without prior discussion
  • Code follows existing conventions (no new frameworks, minimal abstraction)
  • No breaking changes to @SeleniumBootApi public APIs (or a major version bump is justified below)
  • Docs updated if user-facing behaviour changed (docs-site/)
image

@shossain786
shossain786 merged commit 040c421 into seleniumboot:master Nov 7, 2026
2 checks passed
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.

Report: sortable columns in the Test Cases table

2 participants