| sidebar_position | 100 |
|---|
Cette page fournit un accès aux rapports de tests automatisés pour le site de documentation du SophiaHackLab.
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.
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.
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.
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)
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:reportNotre suite de tests e2e inclut:
- Chargement de la page et vérification du titre
- Affichage de la marque SophiaHackLab
- Fonctionnalité des liens de navigation
- Affichage du slogan
- Visibilité et structure de la barre latérale
- Présence de la section projets
- Fonctionnalité de navigation
- Structure de menu imbriqué
- 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
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 |
- ✅ 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é
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
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
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
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
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è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 |
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
- Documentation Playwright
- Guide d'écriture des tests E2E
- Configuration des tests
- Workflows GitHub Actions
Des questions ? Contactez l'équipe du SophiaHackLab à crew@shl.contact