Files
2026-02-19 00:33:08 -08:00

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 snapshot again and retry.
  • If the page looks wrong, re-open with --headed and resize the window.
  • If a flow depends on prior state, use a named --session.