Aller au contenu principal

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:

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:

  1. Visitez l'onglet Actions
  2. Cliquez sur la dernière exécution du workflow
  3. 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:

EnvironnementDéclencheurRapports
GitHub ActionsPush sur main, Pull requestsArtéfacts GitHub Actions
Développement localnpm run test:localtest-results/html/index.html
CI/CDAutomatisé via GitHub ActionsJUnit 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:

  1. Vérification du build - Docusaurus se construit avec succès
  2. Tests E2E - Suite de tests complète sur 3 navigateurs
  3. Génération de rapports - Rapports JUnit XML et HTML
  4. Upload d'artéfacts - Rapports sauvegardés pendant 30 jours
  5. 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:

  1. Consultez le rapport HTML - Messages d'erreur détaillés et captures d'écran
  2. Exécutez localement - npm run test:local pour reproduire
  3. Examinez les captures d'écran - Disponibles dans le répertoire test-results
  4. Vérifiez la compatibilité du navigateur - Le test peut échouer dans un navigateur spécifique

Problèmes courants

ProblèmeSolution
Erreurs de timeoutAugmenter le timeout dans playwright.config.ts
Sélecteur introuvableMettre à jour les sélecteurs de page dans les fichiers de test
Serveur ne démarre pasVérifier que le port 3000 est disponible
Tests instablesAjouter des attentes explicites ou une logique de retry

Contribuer

Lors de l'ajout de nouvelles fonctionnalités, veuillez:

  1. Ajouter les tests e2e correspondants
  2. Exécuter npm run test:local avant de committer
  3. S'assurer que tous les tests passent dans les vérifications de pull request
  4. Mettre à jour la documentation des tests si nécessaire

Ressources


Des questions ? Contactez l'équipe du SophiaHackLab à crew@shl.contact