v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
113
visual_workflow_builder/test_capture_externe.py
Normal file
113
visual_workflow_builder/test_capture_externe.py
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test de la capture externe - Visual Workflow Builder
|
||||
|
||||
Ce script teste la nouvelle fonctionnalité de capture d'application externe
|
||||
"""
|
||||
|
||||
import time
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
def test_capture_workflow():
|
||||
"""Test du workflow complet de capture externe"""
|
||||
print("🎯 Test du Workflow de Capture Externe")
|
||||
print("=" * 50)
|
||||
|
||||
print("\n1. 📋 Instructions de test :")
|
||||
print(" - Ouvrez une application (ex: calculatrice, éditeur de texte)")
|
||||
print(" - Gardez cette application visible")
|
||||
print(" - Ouvrez Visual Workflow Builder dans votre navigateur")
|
||||
print(" - Créez un nœud Action et ouvrez la sélection visuelle")
|
||||
|
||||
print("\n2. 🔄 Workflow attendu :")
|
||||
print(" ✅ Interface de choix de mode s'affiche")
|
||||
print(" ✅ Clic sur 'Capturer Application Externe'")
|
||||
print(" ✅ Countdown 5-4-3-2-1 s'affiche en plein écran")
|
||||
print(" ✅ Capture automatique de l'application cible")
|
||||
print(" ✅ Retour à l'interface avec la capture")
|
||||
|
||||
print("\n3. 🎮 Test interactif :")
|
||||
input(" Appuyez sur Entrée quand vous êtes prêt à tester...")
|
||||
|
||||
# Ouvrir une application de test
|
||||
print("\n📱 Ouverture d'une application de test (calculatrice)...")
|
||||
try:
|
||||
if sys.platform == "linux":
|
||||
subprocess.Popen(["gnome-calculator"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
elif sys.platform == "darwin":
|
||||
subprocess.Popen(["open", "-a", "Calculator"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
elif sys.platform == "win32":
|
||||
subprocess.Popen(["calc.exe"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
|
||||
time.sleep(2)
|
||||
print("✅ Application de test ouverte")
|
||||
except Exception as e:
|
||||
print(f"⚠️ Impossible d'ouvrir l'application de test: {e}")
|
||||
print(" Ouvrez manuellement une application pour le test")
|
||||
|
||||
print("\n🌐 Ouvrez maintenant votre navigateur sur http://localhost:3000")
|
||||
print(" et testez la sélection visuelle avec le mode externe")
|
||||
|
||||
print("\n✅ Critères de réussite :")
|
||||
print(" - Le countdown s'affiche correctement")
|
||||
print(" - La capture montre l'application cible (pas le navigateur)")
|
||||
print(" - L'interface permet de sélectionner des éléments")
|
||||
print(" - Les sélecteurs sont générés correctement")
|
||||
|
||||
def test_api_capture():
|
||||
"""Test direct de l'API de capture"""
|
||||
print("\n🔧 Test de l'API de capture...")
|
||||
|
||||
import requests
|
||||
|
||||
try:
|
||||
# Test de capture immédiate
|
||||
response = requests.post(
|
||||
'http://localhost:5002/api/screen-capture/capture',
|
||||
json={},
|
||||
timeout=10
|
||||
)
|
||||
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
print(f"✅ API de capture fonctionnelle: {data['width']}x{data['height']}")
|
||||
return True
|
||||
else:
|
||||
print(f"❌ Erreur API: {response.status_code}")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Erreur de connexion API: {e}")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Fonction principale"""
|
||||
print("🚀 Test de Capture Externe - Visual Workflow Builder")
|
||||
print("=" * 60)
|
||||
|
||||
# Test de l'API
|
||||
if not test_api_capture():
|
||||
print("\n❌ L'API de capture ne fonctionne pas.")
|
||||
print(" Assurez-vous que le backend est démarré avec ./start_full.sh")
|
||||
return 1
|
||||
|
||||
# Test du workflow
|
||||
test_capture_workflow()
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("📝 Rapport de test :")
|
||||
print(" - API de capture : ✅ Fonctionnelle")
|
||||
print(" - Interface utilisateur : 🔄 À tester manuellement")
|
||||
print(" - Workflow complet : 🔄 À valider")
|
||||
|
||||
print("\n💡 Prochaines améliorations possibles :")
|
||||
print(" - Sélection de fenêtre spécifique")
|
||||
print(" - Raccourci clavier pour capture")
|
||||
print(" - Prévisualisation avant capture")
|
||||
print(" - Capture de région spécifique")
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user