test: automation-driven GUI test suite#77
Merged
Conversation
Grow the S0 launch smoke into a suite that DRIVES the headline flows through the automation protocol and asserts the semantics tree after each step, with screenshots of two surfaces as artifacts. - scripts/smoke.sh: after the CLI load-path assertions, click real widgets by accessibility name (a widget_id helper extracts the id from the snapshot's `@w/<view>#<id>` path, falling back to the dropbox snapshot.txt) and assert the result — the replay transport (Next → the detail pane unpacks event evt-0001), the filter facet (Call → "of 22 events", Clear restores it), and the Live tab (→ the capture control strip renders). Screenshots the inspector and live surfaces; the whole run asserts no error events. - ci.yml: the smoke step drives the GUI; the artifact upload now collects both screenshots (screenshot-*.png). No capture is started in the test (that would spawn a real proxy subprocess). Verified: bash -n clean, the automation build is clean. The driven flow runs under Xvfb in CI (it needs a display; the macOS window path is for local dev). Closes #71.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grows the S0 launch smoke into an automation-driven GUI suite: it clicks real widgets and asserts the semantics tree after each step, not just the initial render.
What it drives
Launched with the sample trace (keeps the CLI load-path assertions), then:
Details,evt-0001,Message ID). → screenshot inspectorof 22 events; click Clear → it's gone again.Start capture,Ready to capture,Listen). → screenshot liveerror event=.Clicks target widgets by accessibility name: a
widget_idhelper reads the snapshot line (widget @w<win>/<view>#<id> role=… name="<label>") and extracts the id, preferringnative automate snapshotand falling back to the dropboxsnapshot.txt. Only cleanly-labeled controls (transport/facet/tab buttons) are clicked — no fragile row targeting. No capture is started (that would spawn a real proxy subprocess).CI
The
smokejob drives the GUI under Xvfb; the artifact upload now collects both screenshots (screenshot-*.png).Verification
bash -nclean; the-Dautomation=truebuild is clean. The driven flow needs a display, so it's verified by the Xvfb smoke job in CI (the macOS window path is for local dev machines) — not runnable in a headless macOS shell.Closes #71.