Compétence CLI Playwright
Pilotez un vrai navigateur depuis le terminal en utilisant playwright-cli. Préférez le script wrapper fourni pour que le CLI fonctionne même s'il n'est pas installé globalement.
Traitez cette compétence comme une automation CLI-first. Ne pivotez pas vers @playwright/test sauf si l'utilisateur demande explicitement des fichiers de test.
Vérification des prérequis (obligatoire)
Avant de proposer des commandes, vérifiez que npx est disponible (le wrapper en dépend) :
command -v npx >/dev/null 2>&1
S'il n'est pas disponible, arrêtez-vous et demandez à l'utilisateur d'installer Node.js/npm (qui fournit npx). Fournissez ces étapes textuellement :
# Vérifiez que Node/npm sont installés
node --version
npm --version
# S'ils manquent, installez Node.js/npm, puis :
npm install -g @playwright/cli@latest
playwright-cli --help
Une fois que npx est présent, procédez avec le script wrapper. Une installation globale de playwright-cli est optionnelle.
Chemin de la compétence (défini une fois)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
Les compétences limitées à l'utilisateur s'installent sous $CODEX_HOME/skills (par défaut : ~/.codex/skills).
Démarrage rapide
Utilisez le script wrapper :
"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshot
Si l'utilisateur préfère une installation globale, c'est aussi valide :
npm install -g @playwright/cli@latest
playwright-cli --help
Flux de travail principal
- Ouvrez la page.
- Snapshottez pour obtenir des références d'éléments stables.
- Interagissez en utilisant les références du dernier snapshot.
- Re-snapshottez après une navigation ou des changements DOM importants.
- Capturez les artefacts (capture d'écran, pdf, traces) quand c'est utile.
Boucle minimale :
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot
Quand re-snapshotter
Re-snapshottez après :
- une navigation
- un clic sur des éléments qui changent l'interface utilisateur de façon substantielle
- l'ouverture/fermeture de modales ou de menus
- des changements d'onglet
Les références peuvent devenir obsolètes. Quand une commande échoue en raison d'une référence manquante, snapshottez à nouveau.
Motifs recommandés
Remplissage de formulaire et soumission
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot
Déboguer un flux UI avec des traces
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop
Travail multi-onglets
"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshot
Script wrapper
Le script wrapper utilise npx --package @playwright/cli playwright-cli pour que le CLI fonctionne sans installation globale :
"$PWCLI" --help
Préférez le wrapper sauf si le dépôt standardise déjà sur une installation globale.
Références
Ouvrez uniquement ce dont vous avez besoin :
- Référence des commandes CLI :
references/cli.md - Flux de travail pratiques et dépannage :
references/workflows.md
Garde-fous
- Snapshottez toujours avant de référencer des ids d'éléments comme
e12. - Re-snapshottez quand les références semblent obsolètes.
- Préférez les commandes explicites plutôt que
evaletrun-codesauf si nécessaire. - Quand vous n'avez pas un snapshot récent, utilisez des références de substitution comme
eXet expliquez pourquoi ; ne contournez pas les références avecrun-code. - Utilisez
--headedquand une vérification visuelle sera utile. - Lors de la capture d'artefacts dans ce dépôt, utilisez
output/playwright/et évitez d'introduire de nouveaux dossiers d'artefacts de niveau supérieur. - Privilégiez les commandes et flux de travail CLI, pas les specs de test Playwright.