aboutsummaryrefslogtreecommitdiff
path: root/test/manual/forms-test.ts
AgeCommit message (Collapse)Author
2026-08-02fix(domains): stop fill_form misreporting select-by-label, let it failamankumarsingh77
Three review fixes on the restored fill_form: - FILL_FN matches a <select> option by value, label or text but returns el.value, so filling by visible label ("Canada" -> value "ca") tripped the read-back mismatch check and reported a correctly-set field as "Filled 0/1 fields; issues: ref e4 (value mismatch)". The mismatch test now also accepts res.text, which FILL_FN sets only for selects, so mismatch detection is preserved for every other field kind. - fill_form always returned ok(), so total failure surfaced as a successful result reading "Filled 0/4 fields". It now returns invalid_state when okCount is 0, carrying the per-field issue list as the error message. Partial success stays ok(). - Removed the two comment blocks this task had added to test/manual/forms-test.ts. Neither behaviour fix has automated coverage; the manual suite that would exercise them still needs a live Chrome and was not run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02fix(domains): restore fill_form and set_checked, drop the stale forkamankumarsingh77
domains/forms.ts was a stale fork of form.ts imported only by a manual test. It held two working tools the registry never registered: fill_form and set_checked. Ported both onto the current pattern and deleted the fork; form.ts versions of the shared tools win. The fork's tools took ref as Type.Integer (a raw CDP backendNodeId). browser_snapshot has since moved to string refs ('e7') resolved through the session ref map, so as written the tools were not callable at all. Ported them onto resolveRefToObjectId and Type.String refs; the only user-facing strings that changed are the four that documented the old [ref=N] syntax. All page-side JS is carried byte-for-byte. form.ts exceeded 250 lines, so fillForm moved to form-batch.ts per the single-field/batch split. form.ts is still 425 lines — the pre-existing three tools account for that, so the split does not reach the target. test/manual/forms-test.ts is repointed and adapted to publish an 'eN' ref map, but NOT executed — it needs a live Chrome. Type-checked only. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-22feat: add forms domain and durable window binding (v0.9.0) (#14)Aman Kumar
- Add forms domain with a universal field setter that auto-detects element type and fires framework-compatible input events (React native-setter trick) - Add window-binding helper to capture and bind the real Chrome windowId as the session's durable window identity on every new-window code path - Wire supporting changes across CDP session/ownership, client, navigate, isolated-tab, prompt, and state - Add manual tests for forms and window binding - Bump version 0.8.3 -> 0.9.0 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>