Développement logiciel
Automatisation des tests avec Selenium et Playwright
Une suite automatisée n'est rentable que si elle est rapide et fiable. Cette formation bâtit des suites Selenium et Playwright maintenables : localisateurs résistants aux changements d'interface, page objects aux frontières nettes, attentes déterministes, exécution parallèle multi-navigateurs et juste équilibre entre tests API et UI.
Aperçu
Un apprentissage pratique pour le transfert en situation de travail.
La plupart des projets d'automatisation meurent de la même façon : la suite grossit, la durée d'exécution dépasse ce que l'équipe accepte d'attendre, et suffisamment de tests échouent par intermittence pour que plus personne ne lise les résultats. Cette formation vise directement ce déclin. Les participants construisent des suites avec Selenium et Playwright, comparent leurs modèles d'exécution, remplacent les attentes fixes par des conditions déterministes, isolent les données de test, puis intègrent la suite à un pipeline où elle doit tenir dans un budget de temps défini et produire des échecs exploitables sans réexécution.
Prérequis
Bases de programmation en JavaScript, TypeScript, Python ou Java, et expérience pratique du test manuel d'une application web.
Objectifs
- Construire des suites Selenium et Playwright sur la même application et comparer les résultats.
- Écrire des localisateurs qui résistent aux changements de balisage et traduisent l'intention utilisateur.
- Éliminer l'instabilité par des attentes déterministes, l'isolation des tests et des données maîtrisées.
- Structurer les suites avec des page objects et des fixtures qui restent lisibles à mesure que la couverture croît.
- Exécuter les tests en parallèle sur plusieurs navigateurs dans un budget de temps défini.
- Déterminer quels contrôles relèvent du niveau API et lesquels exigent réellement l'interface.
Public cible
- Ingénieurs QA passant du test manuel à l'automatisation
- Ingénieurs d'automatisation et SDET maintenant des suites existantes
- Développeurs écrivant les tests de bout en bout de leurs propres fonctionnalités
- Responsables QA définissant la stratégie d'automatisation et les objectifs de couverture
- Ingénieurs release intégrant les suites de tests aux pipelines de livraison
- Équipes remplaçant un framework d'automatisation hérité peu fiable
Programme
Une structure claire pour le parcours d'apprentissage.
Programme
Les points du programme sont regroupés dans un seul bloc au lieu de créer un module par ligne.
Module 1 : Stratégie d'automatisation et choix des outils
Ce qu'il faut automatiser, laisser manuel ou tester sous l'interface
Architectures de Selenium WebDriver et de Playwright comparées en pratique
Décisions de pyramide des tests guidées par la vitesse de retour et le coût des défauts
Fixer des objectifs de couverture, de durée et de fiabilité que l'équipe assumera
Module 2 : Localisateurs, sélecteurs et accès robuste aux éléments
Stratégies de sélecteurs classées par stabilité : rôles, test ids, texte et CSS
Pourquoi les longues chaînes XPath cassent et par quoi les remplacer
Travailler avec le shadow DOM, les iframes et les composants rendus dynamiquement
Convenir des conventions de test-id avec l'équipe de développement
Module 3 : Attentes, synchronisation et maîtrise de l'instabilité
Attentes implicites, explicites et automatiques comparées dans les deux outils
Diagnostiquer un test instable à partir des traces, captures et vidéos enregistrées
Isolation des données de test, initialisation et nettoyage entre exécutions
Gérer animations, latence réseau et widgets tiers
Module 4 : Architecture de la suite et maintenabilité
Page objects, component objects et limites du motif
Fixtures, hooks et initialisation partagée sans dépendances cachées
Assertions décrivant des résultats métier plutôt que l'état du DOM
Sortir configuration, environnements et identifiants du code de test
Module 5 : Tests parallèles, multi-navigateurs et assistés par API
Exécution parallèle, sharding et isolation des workers
Couverture multi-navigateurs et responsive sans dupliquer les tests
Utiliser les appels API pour l'initialisation, le nettoyage et la vérification d'état
Interception réseau, mocking et test délibéré des états d'erreur
Module 6 : Intégration continue et reporting
Exécuter les suites en conteneurs avec des versions de navigateurs reproductibles
Artefacts rendant un échec de pipeline diagnosticable : traces, logs et vidéo
Quarantaine, relance et politique pour un test durablement en échec
Communiquer les tendances de couverture et de stabilité aux parties prenantes
Supports fournis
- Manuel de formation, exemples de code commentés et notes de référence
- Environnement de laboratoire et dépôts de démarrage
- Exercices, check-lists et modèles de code réutilisables
- Certificat de participation 4D
- Accompagnement technique après la formation
Options de formation
Les programmes peuvent être organisés en entreprise, en ligne ou dans un format hybride selon le calendrier, la localisation et les objectifs de vos équipes. Lorsqu'un certificat ou un examen externe est inclus, les règles et frais de certification restent soumis aux politiques de l'organisme certificateur, tandis que 4D assure la formation et l'accompagnement à la préparation.
Pourquoi choisir 4D
4D construit cette formation autour de votre application sous test, et non d'une boutique de démonstration. Les formateurs auditent la suite existante, réécrivent ses tests les moins fiables dans les deux outils et laissent à l'équipe un taux d'instabilité mesuré, une convention de test-id validée avec les développeurs et une suite tenant dans le budget fixé.
Formations liées
Fondamentaux de la programmation Python
Une introduction pratique à Python pour les ingénieurs et analystes qui ont besoin de code opérationnel plutôt que d'extraits de tutoriel. Les participants acquièrent de l'aisance avec les types, les collections, les fonctions, les fichiers et la gestion des erreurs, puis construisent un programme complet.
View coursePython intermédiaire et pratiques de code propre
Conçue pour les développeurs dont le code Python fonctionne mais résiste au changement. Le programme couvre dataclasses, générateurs, décorateurs, gestionnaires de contexte et annotations de types, puis applique les refactorings qui transforment un module interminable en unités testées contrôlées par black, ruff et mypy.
View courseAutomatisation et scripting Python pour les tâches métier
Destinée aux équipes qui perdent chaque semaine des heures en manipulations de fichiers, de tableurs et de rapports. Les participants automatisent ces tâches avec Python : traitement de fichiers en lot, Excel et CSV, appels d'API REST, alertes par e-mail et tâches planifiées qui signalent clairement toute défaillance.
View course