# đŸ§Ș Guide de Test - TĂąche 10 : SĂ©lecteur de Cible Interactif ## 🚀 DĂ©marrage Rapide ### 1. DĂ©marrer le Backend ```bash cd visual_workflow_builder/backend python app.py ``` Le backend devrait dĂ©marrer sur `http://localhost:5000` ### 2. DĂ©marrer le Frontend ```bash cd visual_workflow_builder/frontend npm start ``` Le frontend devrait s'ouvrir automatiquement sur `http://localhost:3000` ## ✅ Tests Ă  Effectuer ### Test 1 : VĂ©rification des Endpoints API ```bash # Test de santĂ© du backend curl http://localhost:5000/health # Test de capture d'Ă©cran curl -X POST http://localhost:5000/api/screen-capture/capture \ -H "Content-Type: application/json" \ -d '{}' # Test de validation de sĂ©lecteur curl -X POST http://localhost:5000/api/screen-capture/validate-selector \ -H "Content-Type: application/json" \ -d '{"selector": "button.submit", "type": "css"}' ``` **RĂ©sultat attendu** : RĂ©ponses JSON valides sans erreurs ### Test 2 : Interface Utilisateur 1. **Ouvrir l'application** : http://localhost:3000 2. **Ajouter une Ă©tape "Click"** : - Glisser "Click" depuis la palette vers le canvas - Ou cliquer sur "Click" dans la palette 3. **Ouvrir le panneau de propriĂ©tĂ©s** : - Cliquer sur l'Ă©tape "Click" dans le canvas - Le panneau de propriĂ©tĂ©s devrait s'ouvrir Ă  droite 4. **Trouver le champ "ÉlĂ©ment cible"** : - Devrait afficher un champ de texte - Avec un bouton "SĂ©lection visuelle" đŸ“· ### Test 3 : Mode Interactif 1. **Cliquer sur "SĂ©lection visuelle"** : - Un dialog modal devrait s'ouvrir - Titre : "SĂ©lectionner un Ă©lĂ©ment" 2. **VĂ©rifier la capture d'Ă©cran** : - Une capture de l'Ă©cran devrait s'afficher - Si erreur : vĂ©rifier que les modules core sont installĂ©s 3. **Survoler des Ă©lĂ©ments** : - DĂ©placer la souris sur la capture - Les Ă©lĂ©ments dĂ©tectĂ©s devraient ĂȘtre surlignĂ©s en bleu 4. **Cliquer sur un Ă©lĂ©ment** : - Cliquer sur un Ă©lĂ©ment de la capture - L'Ă©lĂ©ment devrait ĂȘtre surlignĂ© en vert - Le panneau latĂ©ral devrait afficher les informations 5. **VĂ©rifier les informations** : - Type d'Ă©lĂ©ment (button, input, etc.) - Texte visible - SĂ©lecteurs disponibles (CSS, XPath, etc.) - SĂ©lecteur recommandĂ© 6. **Confirmer la sĂ©lection** : - Cliquer sur "Confirmer la sĂ©lection" - Le dialog devrait se fermer - Le sĂ©lecteur devrait ĂȘtre insĂ©rĂ© dans le champ ### Test 4 : Validation du SĂ©lecteur 1. **VĂ©rifier le champ "ÉlĂ©ment cible"** : - Devrait contenir le sĂ©lecteur gĂ©nĂ©rĂ© - IcĂŽne verte ✓ si valide - IcĂŽne rouge ✗ si invalide 2. **Tester diffĂ©rents types de sĂ©lecteurs** : - Changer le type entre "CSS" et "XPath" - Le sĂ©lecteur devrait ĂȘtre validĂ© automatiquement 3. **Copier le sĂ©lecteur** : - Cliquer sur l'icĂŽne de copie - Le sĂ©lecteur devrait ĂȘtre copiĂ© dans le presse-papiers ## 🎯 ScĂ©narios de Test Complets ### ScĂ©nario 1 : Workflow de Connexion 1. CrĂ©er un workflow avec 3 Ă©tapes : - Navigate → Type (username) → Type (password) → Click (submit) 2. Pour chaque Ă©tape, utiliser la sĂ©lection visuelle : - **Navigate** : Pas de sĂ©lecteur nĂ©cessaire - **Type (username)** : SĂ©lectionner le champ username - **Type (password)** : SĂ©lectionner le champ password - **Click (submit)** : SĂ©lectionner le bouton submit 3. VĂ©rifier que tous les sĂ©lecteurs sont valides ### ScĂ©nario 2 : Extraction de DonnĂ©es 1. CrĂ©er un workflow avec : - Navigate → Extract (titre) → Extract (prix) 2. Utiliser la sĂ©lection visuelle pour : - SĂ©lectionner l'Ă©lĂ©ment contenant le titre - SĂ©lectionner l'Ă©lĂ©ment contenant le prix 3. VĂ©rifier que les propriĂ©tĂ©s extraites sont correctes ## 🐛 ProblĂšmes Courants ### ProblĂšme 1 : "Backend non accessible" **SymptĂŽme** : Erreur lors de l'ouverture du mode interactif **Solution** : ```bash # VĂ©rifier que le backend est dĂ©marrĂ© curl http://localhost:5000/health # Si non dĂ©marrĂ©, lancer : cd visual_workflow_builder/backend python app.py ``` ### ProblĂšme 2 : "Screen capture not available" **SymptĂŽme** : Erreur 503 lors de la capture **Solution** : 1. VĂ©rifier que les modules core sont installĂ©s : ```bash pip install -r requirements.txt ``` 2. VĂ©rifier les permissions d'accĂšs Ă  l'Ă©cran (macOS) 3. VĂ©rifier les logs du backend pour plus de dĂ©tails ### ProblĂšme 3 : Aucun Ă©lĂ©ment dĂ©tectĂ© **SymptĂŽme** : La capture s'affiche mais aucun Ă©lĂ©ment n'est surlignĂ© **Solution** : 1. C'est normal si `UIDetector` n'est pas configurĂ© 2. Cliquer directement sur la capture pour dĂ©tecter l'Ă©lĂ©ment Ă  la demande 3. Le systĂšme utilisera `element-at-point` pour dĂ©tecter l'Ă©lĂ©ment ### ProblĂšme 4 : SĂ©lecteur invalide **SymptĂŽme** : IcĂŽne rouge ✗ aprĂšs sĂ©lection **Solution** : 1. Essayer un autre type de sĂ©lecteur (CSS ↔ XPath) 2. Modifier manuellement le sĂ©lecteur 3. Utiliser la sĂ©lection visuelle Ă  nouveau ## 📊 CritĂšres de SuccĂšs ### ✅ Tests RĂ©ussis - [ ] Backend dĂ©marre sans erreur - [ ] Frontend dĂ©marre sans erreur - [ ] Endpoints API rĂ©pondent correctement - [ ] Dialog de sĂ©lection s'ouvre - [ ] Capture d'Ă©cran s'affiche - [ ] ÉlĂ©ments sont dĂ©tectables (survol ou clic) - [ ] Informations d'Ă©lĂ©ment s'affichent - [ ] SĂ©lecteur est gĂ©nĂ©rĂ© automatiquement - [ ] SĂ©lecteur est insĂ©rĂ© dans le champ - [ ] Validation du sĂ©lecteur fonctionne ### 📈 MĂ©triques de Performance - **Temps de capture** : < 2 secondes - **Temps de dĂ©tection** : < 1 seconde - **Temps de gĂ©nĂ©ration de sĂ©lecteur** : < 100ms - **Taille de la capture** : < 5MB (base64) ## 🎉 Validation Finale Si tous les tests passent, la tĂąche 10 est **complĂšte** ! ✅ **Prochaine Ă©tape** : Marquer la tĂąche comme terminĂ©e et passer Ă  la tĂąche 11 (Gestion des variables) --- **Besoin d'aide ?** - Consulter `TASK_10_INTEGRATION_COMPLETE.md` pour plus de dĂ©tails - VĂ©rifier les logs du backend : `visual_workflow_builder/backend/app.log` - VĂ©rifier la console du navigateur pour les erreurs frontend