Automatisation des tests Web avec Cypress

 Objectifs

Objectifs de la formation Cypress

À l’issue de cette formation Cypress, le participant sera capable de :

  • Expliquer les principes d’automatisation : ROI, pyramide des tests, dette technique.
  • Installer et configurer un environnement Cypress professionnel.
  • Développer des tests E2E robustes et maintenables.
  • Implémenter le Page Object Model adapté à Cypress.
  • Tester des API REST avec Cypress.
  • Gérer les mocks, fixtures et interceptions réseau.
  • Intégrer Cypress dans un pipeline CI/CD.
  • Appliquer les bonnes pratiques de conception de tests automatisés : maintenabilité, lisibilité, fiabilité.

 Prérequis

Prérequis

  • Bases en tests logiciels (connaissance des niveaux et types de tests – alignement ISTQB® CTFL).
  • HTML / CSS basiques.
  • JavaScript fondamental.

 Programme

Programme détaillé – Formation Cypress (Automatisation des tests E2E)

Module 1 – Fondamentaux de l’automatisation (0,5 jour)

Objectifs pédagogiques

  • Comprendre la place de Cypress dans une stratégie de test globale.
  • Identifier les risques liés à l’automatisation (techniques, organisationnels, économiques).

Contenu

  • Rappel de la pyramide des tests (alignement ISTQB® CTFL).
  • Critères de sélection des tests à automatiser.
  • Facteurs de succès et causes d’échec des projets d’automatisation.
  • Comparaison : Cypress vs Selenium vs Playwright.

Atelier pratique

  • Analyse du ROI d’un backlog à automatiser.
  • Priorisation des scénarios via méthode MoSCoW.

Module 2 – Installation & architecture Cypress (0,5 jour)

Objectifs pédagogiques

  • Installer Cypress en environnement Node.js.
  • Comprendre l’architecture et la structure d’un projet Cypress.

Contenu

  • Installation via npm.
  • Structure du dossier /cypress.
  • Fichiers de configuration.
  • Modes headless et headed.
  • Exécution via CLI.

Atelier pratique

  • Création d’un premier test E2E.
  • Configuration multi-environnements.

Module 3 – Écriture des tests E2E (1 jour)

Objectifs pédagogiques

  • Maîtriser la syntaxe Cypress.
  • Utiliser les commandes essentielles de test.

Contenu

  • describe, it, hooks.
  • Utilisation de sélecteurs CSS robustes.
  • Assertions : should, expect.
  • Gestion des attentes intelligentes.
  • Gestion des erreurs et stabilité des tests.

Atelier pratique

  • Automatisation d’un scénario complet (login + workflow métier).
  • Implémentation d’une boucle dynamique de validation.

Module 4 – Architecture maintenable (1 jour)

Objectifs pédagogiques

  • Industrialiser les scripts de test.
  • Réduire la dette technique des tests automatisés.

Contenu

  • Page Object Pattern adapté à Cypress.
  • Création de Custom Commands.
  • Centralisation des locators.
  • Gestion des données via fixtures.
  • Paramétrisation des tests.

Atelier pratique

  • Refactoring vers une architecture modulaire.
  • Création d’un framework Cypress réutilisable.

Module 5 – Tests API & Mocking (0,5 jour)

Objectifs pédagogiques

  • Tester des services sans interface graphique.
  • Maîtriser l’interception réseau.

Contenu

  • cy.request() pour les tests API.
  • Interception réseau avec cy.intercept().
  • Mock des réponses serveur.
  • Tests contractuels basiques.

Atelier pratique

  • Automatisation d’un endpoint REST.
  • Simulation d’erreurs serveur.

Module 6 – Gestion avancée (0,5 jour)

Contenu

  • Gestion des sessions.
  • Tests cross-browser.
  • Exécution parallèle.
  • Gestion des variables d’environnement.
  • Reporting : Mochawesome, Allure.

Module 7 – Intégration CI/CD (0,5 jour)

Objectifs pédagogiques

  • Intégrer Cypress dans un pipeline DevOps.

Contenu

  • Exécution via GitHub Actions.
  • Intégration avec Jenkins.
  • Stratégie d’exécution nightly.
  • Analyse des métriques : taux de succès, flakiness.

Atelier pratique

  • Configuration d’un pipeline CI/CD simple.

Avis des participants

Note Moyenne de :
4,5

« Formation satisfaisante. »

Bilel

« La formation en ligne était satisfaisante. »

Houda

« Je vous remercie bien. »

Nazih

« Non, Tout est parfait 🙂 Good luck. »

Rym