# Script de Capture et Test Automatique ## 🎯 Objectif Script tout-en-un qui : 1. ✅ Capture automatiquement l'écran pendant 1 minute 2. ✅ Enregistre les screenshots dans `data/sessions/` 3. ✅ Crée une RawSession JSON 4. ✅ Teste le GraphBuilder avec la session capturée ## 🚀 Utilisation ### Lancement Simple ```bash cd rpa_vision_v3 python examples/capture_and_test.py ``` ### Ce qui se passe ``` 1. Compte à rebours de 3 secondes 2. Capture pendant 60 secondes (1 screenshot toutes les 2s) 3. Sauvegarde dans data/sessions/session_YYYYMMDD_HHMMSS/ 4. Crée session.json 5. Teste GraphBuilder 6. Affiche les résultats ``` ## 📸 Pendant la Capture **Conseils pour obtenir de bons patterns:** 1. **Répétez les mêmes actions 3-4 fois** - Ex: Ouvrir/fermer une fenêtre - Ex: Cliquer sur le même bouton - Ex: Naviguer entre 2-3 écrans 2. **Attendez 2-3 secondes entre chaque action** - Laisse le temps de capturer l'état stable 3. **Utilisez des actions simples** - Cliquer sur des boutons - Taper du texte - Changer de fenêtre ## 📊 Sortie Attendue ``` 🚀 CAPTURE ET TEST AUTOMATIQUE ====================================================================== CAPTURE DE SESSION ====================================================================== Session ID: session_20241123_143022 Durée: 60s Intervalle: 2s Screenshots attendus: ~30 Répertoire: data/sessions/session_20241123_143022 🎬 Démarrage de la capture dans 3 secondes... Effectuez des actions répétées pour créer des patterns! 📸 Screenshot 1 capturé - Reste 58s 📸 Screenshot 2 capturé - Reste 56s ... 📸 Screenshot 30 capturé - Reste 0s ✅ Capture terminée: 30 screenshots 📝 Création du fichier session.json... ✅ Session sauvegardée: data/sessions/session_20241123_143022/session.json ====================================================================== TEST CONSTRUCTION DE WORKFLOW ====================================================================== [1/3] Initialisation du GraphBuilder ✅ GraphBuilder initialisé [2/3] Construction du workflow ✅ Workflow construit: workflow_session_20241123_143022 - Nodes: 3 - Edges: 2 [3/3] Analyse des résultats 📊 3 patterns détectés: • node_000: 10 observations • node_001: 12 observations • node_002: 8 observations 🔗 2 transitions détectées: • node_000 → node_001 (5x) • node_001 → node_002 (4x) 💾 Index FAISS: 30 vecteurs 📁 Session: data/sessions/session_20241123_143022/session.json ====================================================================== ✅ TEST RÉUSSI - Patterns détectés! ====================================================================== ``` ## 📁 Structure des Fichiers Créés ``` data/sessions/session_20241123_143022/ ├── session.json # Métadonnées de la session └── screenshots/ ├── screen_0000.png ├── screen_0001.png ├── screen_0002.png └── ... ``` ## ⚙️ Configuration ### Modifier la Durée Éditer le fichier `capture_and_test.py` ligne 138: ```python session_dir, screenshots, session_id = capture_session( duration_seconds=120, # 2 minutes au lieu de 1 interval_seconds=2 ) ``` ### Modifier l'Intervalle ```python session_dir, screenshots, session_id = capture_session( duration_seconds=60, interval_seconds=1 # 1 screenshot par seconde ) ``` ### Ajuster la Détection de Patterns Éditer ligne 125: ```python builder = GraphBuilder( min_pattern_repetitions=3, # Plus strict (défaut: 2) clustering_eps=0.15 # Plus strict (défaut: 0.18) ) ``` ## 🔧 Dépannage ### Erreur: "mss n'est pas installé" ```bash pip install mss ``` ### Aucun Pattern Détecté **Causes possibles:** - Actions trop variées (pas de répétitions) - Intervalle trop court (états pas stables) - Clustering trop strict **Solutions:** - Répéter les mêmes actions 3-4 fois - Augmenter `clustering_eps` à 0.20-0.25 - Diminuer `min_pattern_repetitions` à 2 ### Trop de Patterns Détectés **Solution:** - Augmenter `min_pattern_repetitions` à 4-5 - Diminuer `clustering_eps` à 0.12-0.15 ## 🎯 Cas d'Usage ### Test Rapide ```bash # Capture 30 secondes python examples/capture_and_test.py # Modifier duration_seconds=30 dans le code ``` ### Test Complet ```bash # Capture 2 minutes python examples/capture_and_test.py # Modifier duration_seconds=120 dans le code ``` ### Test avec Interface GUI Si tu préfères utiliser ton interface GUI: ```bash # 1. Lance le GUI google-chrome http://127.0.0.1:5000 # 2. Capture manuellement # 3. Teste avec la session capturée python examples/test_workflow_construction.py ``` ## 📈 Métriques de Qualité **Bonne session:** - 3-5 patterns détectés - 2-4 transitions par pattern - Chaque pattern avec 3+ observations **Session à améliorer:** - 0-1 pattern détecté → Répéter plus d'actions - 10+ patterns détectés → Actions trop variées ## 🎓 Conseils 1. **Pour tester la détection de patterns:** - Ouvre/ferme la même application 3-4 fois - Clique sur le même bouton plusieurs fois - Navigue entre 2-3 écrans répétitivement 2. **Pour tester les transitions:** - Fais une séquence A → B → C - Répète cette séquence 3-4 fois - Le GraphBuilder devrait détecter les 3 nodes et 2 edges 3. **Pour tester la robustesse:** - Mélange actions répétées et actions uniques - Change légèrement la position des clics - Varie le timing entre actions