# Agent Browser Validation

- Date: 2026-03-24
- Tool: `agent-browser 0.22.0`
- Scope: verify whether newly installed `agent-browser` can extend current `frontend/admin` E2E closure beyond the existing Playwright CDP path

## Validation Goal

Determine whether `agent-browser` can:

- act as a stable browser automation path in the current constrained Windows environment
- close any remaining OS-level validation gap
- be promoted to a supported project E2E entrypoint

## Environment Findings

- PowerShell wrapper entrypoint `agent-browser.ps1` is blocked by execution policy in the current environment.
- The native binary is callable directly:
  - `C:\Users\Admin\AppData\Roaming\npm\node_modules\agent-browser\bin\agent-browser-win32-x64.exe`
- `agent-browser` requires its daemon socket directory to be redirected to a writable root:
  - `AGENT_BROWSER_SOCKET_DIR=C:\Users\Admin\.codex\memories\agent-browser-home\socket`
- Official browser bootstrap path was also tested:
  - `agent-browser install`
  - result: failed to fetch Chrome for Testing version metadata from `googlechromelabs.github.io`
  - conclusion: the official first-run install path is not currently closed in this environment

## Execution Paths Tested

### 1. Native launch mode

Tested with:

- `--executable-path C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe`
- `--executable-path C:\Users\Admin\AppData\Local\ms-playwright\chromium-1208\chrome-win64\chrome.exe`
- crash-dialog / crashpad suppression args aligned with the existing stable browser wrapper:
  - `--noerrdialogs`
  - `--disable-breakpad`
  - `--disable-crash-reporter`
  - `--disable-crashpad-for-testing`
  - `--no-sandbox`
  - `--disable-dev-shm-usage`
  - `--headless=new`

Result:

- failed before DevTools became ready
- representative error:
  - `Chrome exited early ... without writing DevToolsActivePort`
  - crashpad / mojo access-denied errors were still present
- the failure reproduced both with system Edge and with Playwright cached Chromium `chrome.exe`

Conclusion:

- `agent-browser` launch mode is not currently usable as a stable browser launcher in this environment

### 2. External CDP connect mode

Tested by connecting `agent-browser` to the already stabilized external browser path started by [`frontend/admin/scripts/run-cdp-smoke.ps1`](/D:/project/frontend/admin/scripts/run-cdp-smoke.ps1).

Result:

- stable for observation steps:
  - `open`
  - `wait --load networkidle`
  - `snapshot -i`
  - `get text`
- successful snapshot captured interactive refs on `/login`, including:
  - username textbox `@e7`
  - password textbox `@e8`
  - login button `@e6`
- partially usable for limited in-page actions:
  - `focus @e7`: succeeded
  - `eval` against the page context: succeeded for DOM value injection
- not stable for user-like interaction steps:
  - `fill` timed out repeatedly after successful snapshot
  - `type @e7 e2e_admin`: failed with read timeout / host not responding
  - `keyboard inserttext e2e_admin`: failed with `CDP error (Input.dispatchKeyEvent): Invalid 'text' parameter`
  - `click @e6` after successful `eval`-based field population: failed with read timeout / host not responding
  - `eval`-triggered DOM `submit.click()` returned successfully, but the subsequent `wait --url **/dashboard` still failed with read timeout / host not responding

Representative result:

- `open http://127.0.0.1:3000/login`: success
- `snapshot -i`: success
- `get text @e2`: success
- `focus @e7`: success
- `eval` to set username: success
- `fill @e7 e2e_admin`: failed with read timeout / host not responding
- `type @e7 e2e_admin`: failed with read timeout / host not responding
- `keyboard inserttext e2e_admin`: failed with invalid CDP parameter
- `click @e6`: failed with read timeout / host not responding
- DOM-triggered login + `wait --url **/dashboard`: failed with read timeout / host not responding

Conclusion:

- in the current environment, `agent-browser` connect mode is usable for observational inspection and limited in-page diagnostics
- it is not reliable for user-like interactive E2E execution or workflow progression

## Real Conclusion

- Installing `agent-browser` does not currently close the remaining OS-level validation gap.
- It does not replace the existing supported E2E path.
- Current supported browser-level E2E path remains:
  - Playwright library
  - external browser launch
  - CDP connection
  - [`npm.cmd run e2e:full:win`](/D:/project/frontend/admin/package.json)
- `agent-browser` is currently best described as:
  - installed
  - partially usable for read-only browser inspection plus limited DOM-assisted diagnostics
  - not yet a supported interactive E2E runner
  - not evidence of full OS-level automation closure
  - not capable of supporting full simulated user-operation or OS-level validation in the current environment
