mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-02-28 00:22:41 -08:00
1.8 KiB
1.8 KiB
Playwright CLI Workflows
Use the wrapper script and snapshot often.
Assume PWCLI is set and pwcli is an alias for "$PWCLI".
In this repo, run commands from output/playwright/<label>/ to keep artifacts contained.
Standard interaction loop
pwcli open https://example.com
pwcli snapshot
pwcli click e3
pwcli snapshot
Form submission
pwcli open https://example.com/form --headed
pwcli snapshot
pwcli fill e1 "user@example.com"
pwcli fill e2 "password123"
pwcli click e3
pwcli snapshot
pwcli screenshot
Data extraction
pwcli open https://example.com
pwcli snapshot
pwcli eval "document.title"
pwcli eval "el => el.textContent" e12
Debugging and inspection
Capture console messages and network activity after reproducing an issue:
pwcli console warning
pwcli network
Record a trace around a suspicious flow:
pwcli tracing-start
# reproduce the issue
pwcli tracing-stop
pwcli screenshot
Sessions
Use sessions to isolate work across projects:
pwcli --session marketing open https://example.com
pwcli --session marketing snapshot
pwcli --session checkout open https://example.com/checkout
Or set the session once:
export PLAYWRIGHT_CLI_SESSION=checkout
pwcli open https://example.com/checkout
Configuration file
By default, the CLI reads playwright-cli.json from the current directory. Use --config to point at a specific file.
Minimal example:
{
"browser": {
"launchOptions": {
"headless": false
},
"contextOptions": {
"viewport": { "width": 1280, "height": 720 }
}
}
}
Troubleshooting
- If an element ref fails, run
pwcli snapshotagain and retry. - If the page looks wrong, re-open with
--headedand resize the window. - If a flow depends on prior state, use a named
--session.