4.0 KiB
4.0 KiB
🧪 Comment Tester la Détection de Workflows
🎯 Objectif
Tester le système de détection de workflows qui vient d'être implémenté.
✅ Prérequis
- ✅ SessionManager créé
- ✅ WorkflowDetector créé
- ✅ EventCapture modifié
- ✅ Tout compile correctement
🧪 Test 1 : Script Automatique
Lancer le Test
geniusia2/venv/bin/python test_workflow_suggestion.py
Ce que fait le test
-
Crée 3 sessions similaires :
- Session 1 : Clic → Type → Clic
- Session 2 : Clic → Type → Clic
- Session 3 : Clic → Type → Clic
-
Détecte automatiquement le workflow
- Analyse les sessions
- Calcule la similarité
- Crée le workflow si >= 75%
-
Suggère le workflow
- Commence une 4ème session
- Fait les 2 premières actions
- Vérifie si suggestion apparaît
Résultat Attendu
🎉 SUGGESTION CRÉÉE !
Type: workflow
Workflow: Click → Type → Click
Étape: 2/3
Prochaine action: Clic sur OnlyOffice
Confiance: 89%
Répétitions: 3x
🧪 Test 2 : Test Manuel
Lancer l'Application
cd geniusia2
./run.sh
Effectuer un Workflow Répété
Exemple : Ouvrir OnlyOffice
-
Jour 1 (ou Session 1) :
- Clic sur le lanceur
- Tape "office"
- Clic sur OnlyOffice
- Clic "Nouveau document"
-
Attendre 5 minutes (ou forcer la fin de session)
-
Jour 2 (ou Session 2) :
- Refaire exactement les mêmes actions
-
Attendre 5 minutes
-
Jour 3 (ou Session 3) :
- Refaire exactement les mêmes actions
Vérifier la Détection
Après la 3ème session, le système devrait :
- ✅ Détecter le workflow
- ✅ Logger "workflow_detected"
- ✅ Créer un Workflow avec 4 étapes
Tester la Suggestion
Jour 4 (ou Session 4) :
- Commence le workflow (2 premières actions)
- Le système devrait suggérer de continuer
📊 Vérifier les Logs
# Voir les logs du jour
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq .
# Filtrer les workflows
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq 'select(.action=="workflow_detected")'
# Filtrer les sessions
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq 'select(.action=="session_completed")'
🔧 Ajuster les Seuils
Si la détection ne fonctionne pas bien, ajuster dans config.py :
"workflow": {
# Timeout de session (secondes)
"session_timeout": 300, # Réduire à 60 pour tests rapides
# Nombre minimum de répétitions
"min_repetitions": 3, # Réduire à 2 pour tests
# Seuil de similarité
"similarity_threshold": 0.75 # Réduire à 0.65 pour plus de détections
}
⚠️ Problèmes Courants
Aucun Workflow Détecté
Causes :
- Pas assez de répétitions (< 3)
- Actions trop différentes (similarité < 75%)
- Sessions pas finalisées
Solutions :
- Vérifier les logs :
cat geniusia2/data/logs/logs_*.json - Réduire
min_repetitionsà 2 - Réduire
similarity_thresholdà 0.65 - Forcer la fin de session :
event_capture.force_finalize_session()
Workflow Détecté Mais Pas de Suggestion
Causes :
- Début de workflow pas reconnu
- Seuil de confiance trop élevé
Solutions :
- Vérifier que les 2 premières actions sont identiques
- Réduire
similarity_thresholddansassist - Vérifier les logs de suggestion
✅ Checklist de Test
- Test automatique lancé (
test_workflow_suggestion.py) - Workflow détecté dans les logs
- Suggestion créée
- Test manuel effectué (3 sessions)
- Workflow détecté manuellement
- Suggestion apparaît au début de la 4ème session
- Logs vérifiés
- Seuils ajustés si nécessaire
🎊 Résultat Attendu
Après les tests, tu devrais avoir :
- ✅ Workflows détectés automatiquement
- ✅ Suggestions de workflows fonctionnelles
- ✅ Logs complets
- ✅ Système validé
Prêt pour l'intégration dans la GUI ! 🚀
Créé le 19 Novembre 2025