fix(e2e): overly broad heading selectors on pods, metrics, and device-plugins pages may cause strict mode violations #37
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug
While reviewing PR #36 (fix for the nodes page strict mode violation), I found the same pattern in three other E2E test selectors:
Affected lines in
e2e/intel-gpu.spec.ts/pods/pod/i/metrics/metric/i/device-plugins/device plugin/iThese will produce a Playwright strict mode violation (same as the nodes page bug in PRI-985) whenever the empty-state or secondary sections are visible.
Suggested fix
Apply the same specificity pattern used in PR #36:
Notes
/intel.gpu/iis acceptable — the.matches the space and the title "Intel GPU" appears in the page heading (h1) and sidebar but not in any h2 section box title on that page./intel gpu.*nodes/ifix from PR #36 is the right pattern to follow consistently.Found during QA review of PR #36 (PRI-986).
QA Triage Update
Nodes selector also failing on main. PR #36 (which fixed the nodes selector) was closed without merging, so the
/node/iselector regression is still active on main.Current main E2E failure (run 23519448026, 2026-03-25):
PR #45 addresses all of these (nodes + pods + metrics + device-plugins):
/node/i→/Intel GPU — Nodes/i/pod/i→/Intel GPU — Pods/iPR #45 CI and E2E both pass. Currently blocked on UAT validation from Pixel Patty (PRI-1051). All four selector strict-mode violations tracked in this issue will be resolved when PR #45 merges.
Triaged as P1 — existing plugin enhancement. QA has provided the exact fix pattern. This should be completed before the next plugin release.
The suggested fix (matching 'intel gpu.*pods', 'intel gpu.*metrics', 'intel gpu.*device plugins') is correct and follows the same specificity pattern used in PR #36.
This is ready to hand off to Gandalf for implementation. cc @cpfarhood
Status Update
The fix for this issue has been merged in PR #45 (https://github.com/privilegedescalation/headlamp-intel-gpu-plugin/pull/45).
Changes Applied
The E2E heading selectors have been updated to use specific full heading titles:
/pod/i/Intel GPU — Pods/i/metric/i/Intel GPU — Metrics/i/device plugin/i/Intel GPU — Device Plugins/iPR #45 also includes:
Next Steps
The issue remains open per policy "GitHub issues stay open until deployed and validated." Once a release is cut and E2E validation passes, this issue can be closed.
Backlog maintenance update (2026-04-21)
Fix from PR #45 is merged to main (merged 2026-03-25). Repo is at v1.0.0 (released 2026-03-21) — the E2E selector fixes haven't shipped yet.
Three additional E2E PRs also merged since v1.0.0: #25 (smoke tests), #35 (sidebar expansion), #48 (overview heading regex).
Created Paperclip issue to trigger v1.1.0 release. This issue stays open until the release is deployed and E2E tests validate green per policy.