Files
rpa_vision_v3/tests/integration/test_debug_backend_vwb_09jan2026.py
Dom a27b74cf22 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>
2026-01-29 11:23:51 +01:00

154 lines
4.4 KiB
Python

#!/usr/bin/env python3
"""
Test de debug du backend VWB pour identifier le problème de capture.
Auteur : Dom, Alice, Kiro - 09 janvier 2026
Ce test examine les logs du serveur pour identifier pourquoi la capture échoue.
"""
import sys
import os
import time
import requests
import subprocess
from pathlib import Path
# Ajouter le répertoire racine au path
ROOT_DIR = Path(__file__).parent.parent.parent
sys.path.insert(0, str(ROOT_DIR))
def start_backend_server_debug():
"""Démarre le serveur backend VWB en mode debug."""
print("🚀 Démarrage du serveur backend VWB en mode debug...")
# Utiliser l'environnement virtuel
venv_python = ROOT_DIR / "venv_v3" / "bin" / "python3"
backend_script = ROOT_DIR / "visual_workflow_builder" / "backend" / "app_lightweight.py"
# Variables d'environnement pour le serveur
env = os.environ.copy()
env['PYTHONPATH'] = str(ROOT_DIR)
env['PORT'] = '5002'
print(f"🐍 Utilisation de: {venv_python}")
print(f"📁 Script: {backend_script}")
# Démarrer le serveur en mode interactif pour voir les logs
process = subprocess.Popen(
[str(venv_python), str(backend_script)],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT, # Rediriger stderr vers stdout
cwd=str(ROOT_DIR),
env=env,
text=True,
bufsize=1,
universal_newlines=True
)
# Attendre que le serveur démarre et afficher les logs
print("⏳ Attente du démarrage du serveur...")
time.sleep(3)
# Lire les logs de démarrage
print("\n📋 Logs de démarrage du serveur:")
print("-" * 40)
# Lire quelques lignes de sortie
for i in range(20): # Lire les 20 premières lignes
try:
line = process.stdout.readline()
if line:
print(f"LOG: {line.strip()}")
else:
break
except:
break
print("-" * 40)
return process
def test_capture_with_logs(server_process):
"""Teste la capture en surveillant les logs."""
print("\n📷 Test de capture avec surveillance des logs...")
# Faire une requête de capture
try:
print("🔄 Envoi de la requête de capture...")
response = requests.post(
"http://localhost:5002/api/screen-capture",
json={"format": "png", "quality": 90},
timeout=15
)
print(f"📊 Statut de réponse: {response.status_code}")
# Lire les logs pendant la requête
print("\n📋 Logs pendant la capture:")
print("-" * 40)
# Lire quelques lignes supplémentaires
for i in range(10):
try:
line = server_process.stdout.readline()
if line:
print(f"LOG: {line.strip()}")
else:
break
except:
break
print("-" * 40)
if response.status_code == 200:
data = response.json()
if data.get('success'):
print(f"✅ Capture réussie - {data['width']}x{data['height']}")
return True
else:
print(f"❌ Erreur capture: {data.get('error', 'inconnue')}")
return False
else:
print(f"❌ Erreur HTTP: {response.status_code}")
print(f"Réponse: {response.text}")
return False
except Exception as e:
print(f"❌ Erreur lors de la capture: {e}")
return False
def main():
"""Fonction principale de test."""
print("=" * 60)
print(" TEST DEBUG BACKEND VWB")
print("=" * 60)
print("Auteur : Dom, Alice, Kiro - 09 janvier 2026")
print("")
# Démarrer le serveur backend
server_process = start_backend_server_debug()
if not server_process:
print("❌ Impossible de démarrer le serveur backend")
return False
try:
# Attendre un peu plus pour le démarrage complet
time.sleep(5)
# Tester la capture avec logs
success = test_capture_with_logs(server_process)
return success
finally:
# Arrêter le serveur
if server_process:
print("\n🛑 Arrêt du serveur backend...")
server_process.terminate()
server_process.wait()
if __name__ == '__main__':
success = main()
sys.exit(0 if success else 1)