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:
210
docs/archive/misc/dashboard/DASHBOARD_TESTS_SOLUTION.md
Normal file
210
docs/archive/misc/dashboard/DASHBOARD_TESTS_SOLUTION.md
Normal file
@@ -0,0 +1,210 @@
|
||||
# 🔧 Solution Complète - Tests du Dashboard
|
||||
|
||||
## 📋 Résumé du Problème
|
||||
|
||||
Le dashboard affiche "undefined" pour les tests car :
|
||||
|
||||
1. ❌ **pytest n'est pas installé**
|
||||
2. ❌ **pytest-cov n'est pas installé** (requis par pytest.ini)
|
||||
3. ❌ **Les imports dans les tests sont incorrects**
|
||||
|
||||
### Imports Incorrects
|
||||
|
||||
Les tests utilisent :
|
||||
```python
|
||||
from rpa_vision_v3.core.models.ui_element import UIElement
|
||||
```
|
||||
|
||||
Mais la structure du projet est :
|
||||
```
|
||||
rpa_vision_v3/
|
||||
├── core/models/ui_element.py ← Le fichier est ici
|
||||
└── tests/unit/test_ui_element.py
|
||||
```
|
||||
|
||||
L'import devrait être :
|
||||
```python
|
||||
from core.models.ui_element import UIElement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Solution Complète
|
||||
|
||||
### Étape 1 : Installer les Dépendances
|
||||
|
||||
```bash
|
||||
cd rpa_vision_v3
|
||||
source venv_v3/bin/activate
|
||||
pip install pytest>=7.0.0 pytest-cov
|
||||
```
|
||||
|
||||
### Étape 2 : Corriger les Imports (Temporaire)
|
||||
|
||||
Pour tester rapidement sans modifier les fichiers :
|
||||
|
||||
```bash
|
||||
cd rpa_vision_v3
|
||||
source venv_v3/bin/activate
|
||||
|
||||
# Ajouter le répertoire courant au PYTHONPATH
|
||||
export PYTHONPATH="$PWD:$PYTHONPATH"
|
||||
|
||||
# Tester
|
||||
pytest tests/unit/test_ui_element.py::TestUIElement::test_create_ui_element -v
|
||||
```
|
||||
|
||||
### Étape 3 : Solution Permanente
|
||||
|
||||
Deux options :
|
||||
|
||||
#### Option A : Corriger les Imports dans les Tests (Recommandé)
|
||||
|
||||
Modifier `tests/unit/test_ui_element.py` ligne 11 :
|
||||
|
||||
**Avant** :
|
||||
```python
|
||||
from rpa_vision_v3.core.models.ui_element import (
|
||||
UIElement,
|
||||
UIElementEmbeddings,
|
||||
VisualFeatures,
|
||||
UI_ELEMENT_TYPES,
|
||||
UI_ELEMENT_ROLES
|
||||
)
|
||||
```
|
||||
|
||||
**Après** :
|
||||
```python
|
||||
from core.models.ui_element import (
|
||||
UIElement,
|
||||
UIElementEmbeddings,
|
||||
VisualFeatures,
|
||||
UI_ELEMENT_TYPES,
|
||||
UI_ELEMENT_ROLES
|
||||
)
|
||||
```
|
||||
|
||||
#### Option B : Restructurer le Projet
|
||||
|
||||
Créer une structure de package correcte :
|
||||
|
||||
```bash
|
||||
mkdir -p rpa_vision_v3_pkg/rpa_vision_v3
|
||||
mv core gui models rpa_vision_v3_pkg/rpa_vision_v3/
|
||||
# Puis mettre à jour setup.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Test Rapide
|
||||
|
||||
```bash
|
||||
cd rpa_vision_v3
|
||||
source venv_v3/bin/activate
|
||||
|
||||
# Installer dépendances
|
||||
pip install pytest pytest-cov
|
||||
|
||||
# Ajouter au PYTHONPATH
|
||||
export PYTHONPATH="$PWD:$PYTHONPATH"
|
||||
|
||||
# Tester un test simple
|
||||
pytest tests/unit/test_ui_element.py::TestUIElement::test_create_ui_element -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Corrections Appliquées au Dashboard
|
||||
|
||||
### 1. Backend Amélioré
|
||||
|
||||
Le fichier `web_dashboard/app.py` vérifie maintenant :
|
||||
- ✅ Si pytest est installé
|
||||
- ✅ Si le fichier de test existe
|
||||
- ✅ Retourne des messages d'erreur clairs
|
||||
|
||||
### 2. Frontend Amélioré
|
||||
|
||||
Le fichier `web_dashboard/templates/index.html` gère maintenant :
|
||||
- ✅ Les erreurs réseau
|
||||
- ✅ Les valeurs undefined
|
||||
- ✅ Les messages d'erreur du backend
|
||||
|
||||
### 3. Dépendances Ajoutées
|
||||
|
||||
Le fichier `web_dashboard/requirements.txt` inclut maintenant :
|
||||
```
|
||||
Flask==3.0.0
|
||||
pytest>=7.0.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Utilisation du Dashboard Après Correction
|
||||
|
||||
```bash
|
||||
# 1. Installer les dépendances
|
||||
cd rpa_vision_v3
|
||||
source venv_v3/bin/activate
|
||||
pip install pytest pytest-cov
|
||||
|
||||
# 2. Lancer le dashboard
|
||||
./run.sh --dashboard
|
||||
|
||||
# 3. Ouvrir dans le navigateur
|
||||
# http://localhost:5001
|
||||
|
||||
# 4. Aller dans l'onglet "Tests"
|
||||
|
||||
# 5. Cliquer sur ▶ à côté d'un test
|
||||
```
|
||||
|
||||
**Résultat Attendu** :
|
||||
- Si pytest n'est pas installé : Message clair "pytest non installé"
|
||||
- Si le test échoue : Affichage de l'erreur réelle
|
||||
- Plus de "undefined" !
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Problème : "pytest non installé"
|
||||
|
||||
```bash
|
||||
source venv_v3/bin/activate
|
||||
pip install pytest pytest-cov
|
||||
```
|
||||
|
||||
### Problème : "ModuleNotFoundError: No module named 'rpa_vision_v3'"
|
||||
|
||||
```bash
|
||||
export PYTHONPATH="$PWD:$PYTHONPATH"
|
||||
```
|
||||
|
||||
Ou corriger les imports dans les tests (voir Option A ci-dessus).
|
||||
|
||||
### Problème : "ModuleNotFoundError: No module named 'core'"
|
||||
|
||||
Vous n'êtes pas dans le bon répertoire :
|
||||
|
||||
```bash
|
||||
cd rpa_vision_v3 # Assurez-vous d'être dans ce dossier
|
||||
pytest tests/unit/test_ui_element.py -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Fichiers Modifiés
|
||||
|
||||
1. ✅ `web_dashboard/app.py` - Meilleure gestion d'erreurs
|
||||
2. ✅ `web_dashboard/templates/index.html` - Gestion des undefined
|
||||
3. ✅ `web_dashboard/requirements.txt` - Ajout de pytest
|
||||
4. ✅ `fix_dashboard_tests.sh` - Script de correction
|
||||
5. ✅ `DASHBOARD_TESTS_FIX.md` - Documentation courte
|
||||
6. ✅ `DASHBOARD_TESTS_SOLUTION.md` - Ce fichier (solution complète)
|
||||
|
||||
---
|
||||
|
||||
**Date** : 24 novembre 2025
|
||||
**Version** : V3.0
|
||||
**Statut** : ✅ Corrigé (avec note sur les imports)
|
||||
Reference in New Issue
Block a user