chrome-ui-test v1.0.0
Plugin de tests automatisés d'interface utilisateur dans Chrome pour Claude Code.
Description
Ce plugin permet à Claude de tester automatiquement des interfaces web dans Chrome avec :
- 🔍 Navigation et exploration : parcourir des pages, cliquer sur liens et boutons
- 📸 Validation visuelle : capturer des screenshots à chaque étape
- ✅ Tests fonctionnels : exécuter des scénarios complets (login, formulaires, workflows)
- 📱 Tests responsive : vérifier l'affichage sur mobile, tablette, desktop
- 🐛 Debug : analyser console logs, requêtes réseau, erreurs JavaScript
- 🎬 Enregistrement GIF : générer un GIF animé du parcours utilisateur
Installation
bash
claude plugins install ./chrome-ui-testSkills Disponibles
/chrome-ui-test:ui-test - Test UI Complet
Teste une interface utilisateur avec génération de rapport détaillé.
Syntaxe :
bash
/chrome-ui-test:ui-test <URL> [options]Options :
--scenario="description": Scénario de test à exécuter--responsive: Tester sur 3 tailles (mobile + tablette + desktop)--mobile: Tester uniquement sur mobile (375x667)--tablet: Tester uniquement sur tablette (768x1024)--desktop: Tester uniquement sur desktop (1920x1080)--visual: Capturer des screenshots--debug: Activer logs console et network--gif: Enregistrer un GIF du parcours--viewport=WIDTHxHEIGHT: Taille de fenêtre custom--help: Afficher le résumé des actions et demander confirmation
Exemples d'Utilisation
Test Simple de Navigation
bash
/chrome-ui-test:ui-test https://example.comRésultat :
- Navigation vers la page
- Vérification du chargement
- Exploration des éléments principaux
- Rapport avec erreurs détectées
Voir ce qui sera fait (Mode Aide)
bash
/chrome-ui-test:ui-test https://example.com --mobile --visual --helpRésultat :
- Affiche un résumé détaillé des actions prévues
- Liste toutes les options actives et leur signification
- Indique les fichiers qui seront générés
- Donne une estimation de durée
- Demande confirmation avant d'exécuter
- Utile pour comprendre ce qui va se passer avant de lancer un test
Test de Scénario de Login avec GIF
bash
/chrome-ui-test:ui-test https://app.example.com/login \
--scenario="Je veux tester le login :
1. Remplir email avec test@example.com
2. Remplir password avec password123
3. Cliquer sur bouton Se connecter
4. Vérifier redirection vers /dashboard" \
--gifRésultat :
- Exécution du scénario étape par étape
- Screenshots à chaque étape
- GIF animé du parcours
- Validation des redirections et messages
- Rapport détaillé
Test Responsive avec Screenshots
bash
/chrome-ui-test:ui-test https://example.com \
--responsive \
--visualRésultat :
- Test sur 3 viewports (mobile 375x667, tablette 768x1024, desktop 1920x1080)
- Screenshot pour chaque taille d'écran
- Validation de l'affichage responsive
- Rapport avec recommandations
Test Mobile Uniquement
bash
/chrome-ui-test:ui-test https://m.example.com \
--mobile \
--visualRésultat :
- Test uniquement sur mobile (375x667)
- Plus rapide que --responsive
- Idéal pour sites mobile-first
Debug d'une Page avec Erreurs
bash
/chrome-ui-test:ui-test https://example.com/broken-page \
--debugRésultat :
- Capture des erreurs JavaScript console
- Liste des requêtes réseau échouées (4xx, 5xx)
- Analyse des stack traces
- Recommandations de fix
Test de Formulaire Contact
bash
/chrome-ui-test:ui-test https://example.com/contact \
--scenario="Tester le formulaire :
1. Remplir nom avec John Doe
2. Remplir email avec john@example.com
3. Remplir message avec Test message
4. Cliquer sur Envoyer
5. Vérifier message de confirmation" \
--visual \
--debugRésultat :
- Remplissage automatique du formulaire
- Screenshots avant/après soumission
- Vérification de l'appel API
- Validation du message de succès
- Détection d'erreurs éventuelles
Test E-commerce avec Viewport Custom
bash
/chrome-ui-test:ui-test https://shop.example.com \
--scenario="Parcours d'achat :
1. Chercher 'laptop' dans la recherche
2. Cliquer sur premier résultat
3. Cliquer sur Ajouter au panier
4. Aller au panier
5. Vérifier que l'article est bien présent" \
--viewport=1366x768 \
--gifStructure du Rapport Généré
Le rapport est sauvegardé dans /tmp/claude-*/scratchpad/ui-test-report-[timestamp].md
markdown
# Rapport de Test UI - https://example.com
**Date :** 2026-02-01 13:30:45
**Scénario :** Test de login
**Viewport(s) :** 1920x1080
## Résumé
- ✅ Tests réussis : 5
- ❌ Tests échoués : 0
- ⚠️ Avertissements : 1
## Actions Effectuées
1. Navigation vers https://example.com/login
2. Remplissage champ email
3. Remplissage champ password
4. Clic sur bouton "Se connecter"
5. Redirection vers /dashboard
## Résultats par Catégorie
### Navigation et Chargement
- Page charge en 1.2s ✅
- Redirection /login → /dashboard ✅
### Fonctionnalités
- Formulaire login fonctionne ✅
- Validation côté client active ✅
### Console et Erreurs
- Aucune erreur JavaScript ✅
- 1 warning : "Deprecated API usage" ⚠️
### Network
- POST /api/auth/login : 200 OK (350ms) ✅
- GET /api/user/profile : 200 OK (120ms) ✅
### Visuel
- Screenshots : 5 fichiers
- step-01-login-page.png
- step-02-form-filled.png
- step-03-dashboard.png
- ...
## Recommandations
1. Corriger le warning "Deprecated API usage" dans auth.js:42
2. Ajouter loading state pendant l'appel API login
3. Optimiser temps de chargement initial (1.2s → 0.8s)
## Fichiers Générés
- GIF : ui-test-recording-20260201-133045.gif
- Screenshots : 5 fichiers dans scratchpad/Cas d'Usage Avancés
Test avec Upload de Fichier
bash
/chrome-ui-test:ui-test https://example.com/upload \
--scenario="Upload d'image :
1. Prendre un screenshot de la page
2. Utiliser upload_image pour uploader le screenshot
3. Vérifier l'aperçu de l'image
4. Soumettre le formulaire"Test d'Autocomplete
bash
/chrome-ui-test:ui-test https://example.com/search \
--scenario="Test autocomplete :
1. Taper 'java' dans la recherche
2. Attendre les suggestions (1s)
3. Vérifier que suggestions contiennent 'JavaScript'
4. Cliquer sur première suggestion"Test de Infinite Scroll
bash
/chrome-ui-test:ui-test https://example.com/feed \
--scenario="Test infinite scroll :
1. Compter items initiaux
2. Scroller vers le bas
3. Attendre chargement (2s)
4. Vérifier que nouveaux items apparaissent
5. Répéter 3 fois"Bonnes Pratiques
✅ À Faire
- Toujours spécifier un scénario clair avec étapes numérotées
- Utiliser
--gifpour documenter les parcours complexes - Utiliser
--debugdès qu'une page ne se comporte pas comme attendu - Utiliser
--responsivepour tout site public/e-commerce - Nommer les actions de manière descriptive dans le scénario
❌ À Éviter
- Ne pas tester des pages nécessitant une authentification complexe (2FA, CAPTCHA)
- Ne pas hardcoder des coordonnées dans le scénario
- Ne pas oublier les temps d'attente entre actions
- Ne pas ignorer les erreurs console "non critiques"
Limitations
- CAPTCHA et 2FA : non automatisables, nécessitent intervention manuelle
- Contenu dynamique : peut nécessiter des
waitplus longs - Single Page Apps : peuvent nécessiter des stratégies d'attente spécifiques
- Vidéos et animations : GIF peut être volumineux
Dépannage
"Tab invalide" ou "Tab not found"
La skill crée automatiquement un nouvel onglet. Si erreur persiste :
- Vérifier que Chrome est ouvert
- Vérifier que l'extension Claude in Chrome est active
Screenshots vides ou noirs
- Ajouter
wait 2saprès navigation avant screenshot - Vérifier que la page charge complètement
GIF non généré
- Vérifier que
start_recordinga été appelé avant les actions - Vérifier que
stop_recordingpuisexportont été appelés - Le GIF est téléchargé dans Downloads, pas dans scratchpad
Éléments introuvables avec find
- Utiliser
read_pagepour voir les éléments disponibles - Être plus spécifique dans la description ("email input" au lieu de "input")
- Utiliser
computer clickavec coordonnées en dernier recours
Contribuer
Pour ajouter des patterns de test courants, modifier : skills/ui-test/references/common-patterns.md
Changelog
v1.0.0 (2026-02-01)
- ✨ Création du plugin
- ✨ Skill
ui-testavec tous types de tests - 📚 Patterns courants et exemples
- 🎬 Support GIF recording
- 📱 Tests responsive
- 🐛 Mode debug avec console et network
Auteur
Aurélien Tournayre
- GitHub: @atournayre
- Email: aurelien.tournayre@gmail.com
Licence
MIT