name: playwright-e2e description: > Drive the running HMIS app with the Playwright MCP server for end-to-end verification of a feature (login, department selection, PrimeFaces AJAX forms, confirm dialogs, DB-backed verification). Use when asked to test, verify, or screenshot a feature in the browser, or to confirm a fix works end-to-end against a real deployment. Rebuilds/redeploys local changes via Maven + asadmin first if needed. allowed-tools: Read, Glob, Grep, Bash, PowerShell, mcp__playwright__browser_navigate, mcp__playwright__browser_navigate_back, mcp__playwright__browser_click, mcp__playwright__browser_type, mcp__playwright__browser_fill_form, mcp__playwright__browser_select_option, mcp__playwright__browser_hover, mcp__playwright__browser_drag, mcp__playwright__browser_drop, mcp__playwright__browser_press_key, mcp__playwright__browser_file_upload, mcp__playwright__browser_handle_dialog, mcp__playwright__browser_wait_for, mcp__playwright__browser_snapshot, mcp__playwright__browser_take_screenshot, mcp__playwright__browser_console_messages, mcp__playwright__browser_network_request, mcp__playwright__browser_network_requests, mcp__playwright__browser_evaluate, mcp__playwright__browser_run_code_unsafe, mcp__playwright__browser_resize, mcp__playwright__browser_tabs, mcp__playwright__browser_close
Playwright E2E Testing (HMIS)
Full operational workflow lives in Playwright E2E Testing Workflow — read it before driving the browser. This skill is the entry point and adds the rebuild/redeploy and permission context.
For general MCP tool mechanics (tool reference, clicking/dropdown/file-upload patterns, common errors) see the companion Playwright MCP Guide — the workflow doc above is HMIS-specific; the guide is generic Playwright MCP usage.
Workflow
- Confirm the target with the user: which feature/page, which local deployment URL, and whether the code under test is already deployed.
- If not yet deployed, rebuild and redeploy — see §0a Rebuild and redeploy. A redeploy invalidates the session, so this must happen before login.
- Login + department selection — see §1. Never hit an inner page URL directly before department selection.
- Drive the feature using accessibility snapshots (
browser_snapshot) to locate elements, real key events for PrimeFaces inputs (§3), andbrowser_handle_dialogforconfirm()guards (§4). Wait on the expected result (browser_wait_for) rather than fixed sleeps (§5a). Watch for §12 (required-field validation blocking unrelated nav buttons), §13 (p:selectOneMenuclick-option pattern), and §14 (non-AJAX search clicks that time out but still succeed). - If the DB lacks suitable test data, generate it through the app — see §15. Never fall back to "code looks correct" as evidence.
- Verify in the database — read-only
mysqlqueries against the local DB per §6. Credentials come fromC:\Credentials\(outside the repo). - Capture evidence into the project
tmp/folder, then follow §8 for anything destined for the wiki/issue. Remove temp screenshots from the repo afterward. - If Playwright can't find a control, treat it as a product accessibility gap (§7) — fix the page, not the test.
Required permissions
This skill needs, beyond the defaults:
- The full
mcp__playwright__*tool set (browser automation). - Maven
clean packageand Payaraasadmin redeploy/deploy/undeployfor the local rebuild step (paths inCLAUDE.md§ Local build tools). mysqlread access to the local database for verification queries.
If any of these prompt for approval, the user's settings.local.json should
already allow them for this project — flag it if a prompt appears repeatedly.