Rapports de tests
Cette page fournit un accès aux rapports de tests automatisés pour le site de documentation du SophiaHackLab.
Vue d'ensemble
Nous utilisons Playwright pour les tests end-to-end sur plusieurs navigateurs (Chromium, Firefox et WebKit). Les tests s'exécutent automatiquement à chaque push sur la branche main et pour toutes les pull requests.
Derniers rapports de tests
🌐 Rapports de tests déployés
Les rapports de tests les plus récents sont automatiquement déployés sur le site web et accessibles directement via les liens suivants:
- 📈 Rapport HTML interactif - Visualisation complète avec captures d'écran et détails
- 📊 Rapport JUnit XML - Format XML pour intégration CI/CD
Ces rapports sont mis à jour automatiquement à chaque déploiement sur la branche main.
Rapports locaux
Après l'exécution des tests, deux rapports sont disponibles localement:
- 📊
test-results/junit.xml- Format JUnit XML pour l'intégration CI - 📈
test-results/html/index.html- Rapport HTML interactif avec captures d'écran et détails complets
Pour visualiser le rapport HTML, ouvrez le fichier test-results/html/index.html dans votre navigateur après avoir exécuté npm run test:local.
Artéfacts GitHub Actions
Les rapports de tests les plus récents sont disponibles en tant qu'artéfacts dans GitHub Actions:
- Visitez l'onglet Actions
- Cliquez sur la dernière exécution du workflow
- Téléchargez les artéfacts:
- test-results-junit - Format JUnit XML pour l'intégration CI
- test-results-html - Rapport HTML interactif avec captures d'écran
- test-screenshots - Captures d'écran des tests échoués (le cas échéant)
Visualiser les rapports localement
Pour générer et visualiser les rapports de tests sur votre machine locale:
# Exécuter la suite de tests complète
npm run test:local
# Visualiser le rapport HTML
npm run test:report
Couverture des tests
Notre suite de tests e2e inclut:
Tests de la page d'accueil (4 tests × 3 navigateurs)
- Chargement de la page et vérification du titre
- Affichage de la marque SophiaHackLab
- Fonctionnalité des liens de navigation
- Affichage du slogan
Tests de navigation dans la barre latérale (4 tests × 3 navigateurs)
- Visibilité et structure de la barre latérale
- Présence de la section projets
- Fonctionnalité de navigation
- Structure de menu imbriqué
Tests des pages de projet (18 tests × 3 navigateurs)
- Toutes les pages de projet (ROV, Triviak Real, Triviak Mini, Fête de la Science)
- Chargement et affichage du contenu des pages
- Pages CONTRIBUTING et TODO
- Validation du rendu Markdown
Total: 69 tests × 3 navigateurs = 207 exécutions de tests par run
Environnements de test
Les tests s'exécutent dans plusieurs environnements:
| Environnement | Déclencheur | Rapports |
|---|---|---|
| GitHub Actions | Push sur main, Pull requests | Artéfacts GitHub Actions |
| Développement local | npm run test:local | test-results/html/index.html |
| CI/CD | Automatisé via GitHub Actions | JUnit XML + HTML |
Comprendre les résultats des tests
Indicateurs d'état des tests
- ✅ Réussi - Test exécuté avec succès
- ❌ Échoué - Assertion du test échouée
- ⚠️ Instable - Test réussi après nouvelle tentative
- ⏭️ Ignoré - Test ignoré
Format JUnit XML
Le rapport JUnit XML (test-results/junit.xml) contient:
- Résumé de la suite de tests (total, réussis, échoués, ignorés)
- Résultats individuels des tests avec temps d'exécution
- Messages d'erreur et traces de pile pour les échecs
- Compatible avec la plupart des plateformes CI/CD
Rapport HTML
Le rapport HTML (test-results/html/index.html) fournit:
- Navigateur de résultats de tests interactif
- Captures d'écran de l'exécution des tests
- Messages d'erreur détaillés et traces de pile
- Métriques de performance et chronométrage
- Résultats filtrables et consultables
Intégration continue
Workflow de tests automatisés
Chaque modification de code déclenche:
- Vérification du build - Docusaurus se construit avec succès
- Tests E2E - Suite de tests complète sur 3 navigateurs
- Génération de rapports - Rapports JUnit XML et HTML
- Upload d'artéfacts - Rapports sauvegardés pendant 30 jours
- Affichage du résumé - Résultats des tests dans l'interface GitHub Actions
Vérifications des pull requests
Toutes les pull requests doivent passer:
- ✅ Build sans erreurs
- ✅ Tests E2E (taux de réussite minimum de 95%)
- ✅ Pas de liens cassés
- ✅ Formatage Markdown correct
Dépannage
Échecs de tests
Si les tests échouent:
- Consultez le rapport HTML - Messages d'erreur détaillés et captures d'écran
- Exécutez localement -
npm run test:localpour reproduire - Examinez les captures d'écran - Disponibles dans le répertoire test-results
- Vérifiez la compatibilité du navigateur - Le test peut échouer dans un navigateur spécifique
Problèmes courants
| Problème | Solution |
|---|---|
| Erreurs de timeout | Augmenter le timeout dans playwright.config.ts |
| Sélecteur introuvable | Mettre à jour les sélecteurs de page dans les fichiers de test |
| Serveur ne démarre pas | Vérifier que le port 3000 est disponible |
| Tests instables | Ajouter des attentes explicites ou une logique de retry |
Contribuer
Lors de l'ajout de nouvelles fonctionnalités, veuillez:
- Ajouter les tests e2e correspondants
- Exécuter
npm run test:localavant de committer - S'assurer que tous les tests passent dans les vérifications de pull request
- Mettre à jour la documentation des tests si nécessaire
Ressources
- Documentation Playwright
- Guide d'écriture des tests E2E
- Configuration des tests
- Workflows GitHub Actions
Des questions ? Contactez l'équipe du SophiaHackLab à crew@shl.contact