Description
Selenium WebDriver
est un outil open source d’automatisation des tests d’acceptation pour les applications web.
Cet outil permet de tester les applications développées avec les technologies standards telles que HTML5, CSS et JavaScript, mais il est également capable de tester les applications web conçues avec les frameworks modernes tels que Reactjs
, Angularjs
et Vuejs
.
La version Selenium 4.x est publiée avec plusieurs nouvelles fonctionnalités et des améliorations significatives.
Selenium se distingue par plusieurs caractéristiques :
- Open source / Gratuit
- Maturité : Il s’agit de l’un des outils les plus anciens et est largement adopté par de nombreuses organisations.
- Cross-browser : Il offre un support pour plusieurs types de navigateurs tels que Chrome, Firefox, Opera, etc.
- Une communauté dynamique
- Documentation disponible dans plusieurs langues
- Multilingue : Selenium supporte plusieurs langages de programmation tels que Java, C#, JavaScript, Python, Ruby.
Cette formation Selenium WebDriver 4.x vous permettra d’acquérir et de maîtriser plusieurs concepts essentiels et avancés de l’automatisation des tests web.
Objectifs pédagogiques
À l’issue de cette formation d’automatisation des tests web avec Selenium WebDriver, le participant sera en mesure de :
- Comprendre l’architecture de l’outil Open Source Selenium
- Apprendre à utiliser les fonctionnalités les plus intéressantes de Selenium
- Concevoir des tests web automatisés avec Selenium
- Comprendre comment intégrer les tests web avec Selenium dans une chaîne de livraison continue (CI/CD)
Public concerné
- Testeurs ou développeurs désirant se former aux techniques d’automatisation des tests web avec Selenium
- QA Managers, QA Lead
Prérequis
- Connaissances fondamentales du langage Java
- Connaissances fondamentales en tests web et fonctionnels
Le programme de cette formation est composé de plusieurs modules allant des notions de base aux notions avancées
Module 1: Introduction aux tests logiciels
- Tests manuels / Tests automatisés
- Les différents types de tests
- La pyramide de tests
- Les avantages et les inconvénients de l’automatisation
- Le pattern 3A pour les tests automatisés
- Les terminologies DOM et HTML
Module 2: Introduction a Selenium WebDriver
- Le projet Selenium
- L’écosystème Selenium (Composants / fonctionnalités)
- Selenium IDE
- Selenium Webdriver
- Selenium Grid
- Selenium API
- Selenium 4: Les nouvelles fonctionnalités
- Le standard W3C
- Webdriver
- WebDriver BiDi
- Architecture de Selenium Webdriver Classic
- Architecture de Selenium Webdriver BIDI
- Principe de fonctionnement de Selenium WebDriver
Module 3: Installation et configuration de l’environnement de développement
- Installation et configuration du JDK (Java)
- Installation des drivers chromedriver / geckodriver
- Installation des plugins d’aide à l’automatisation
- Installation et configuration de l’outil de build Gradle
- Installation d’IntelliJ
Module 4: Les concepts fondamentaux de Selenium
- Premier exemple (HelloSelenium)
- La structure d’un projet de test en java
- Les dépendances nécessaires
- Les drivers (chromedriver, geckodriver)
- La session WebDriver
- Les options de sessions / capabilities:
- Options pour chrome
- Options pour firefox
- Les principales commandes browser (Navigate, Forward, Back, Refresh, etc)
Module 5: Les interactions avec les éléments web
- Les différents types de sélecteur web
- Id, name, css, xpath, classname, tagName, linkText, partiallyLinkText, etc
- L’outil xpath/css tester
- Explication du Weblement
- Exemples pratiques:
- “Text Box”
- ”Check Box”
- ”Radio Button”
- “Drop Down”
Module 6 : Les stratégies d’attentes
- La stratégie “Static waits”
- La stratégie “Implicit waits”
- La stratégie “Explicit waits”
- La stratégie “Fluent waits”
Module 7: Les concepts avancés de Selenium
- Utilisation du context
- Alerts
- Popup Alert
- Confirmation Alert
- Prompt
- Exécution JavaScript
- “Click Operation”
- “Scrolling“
- “WebElement Highlighting“
- Exemple d’un scenario e2e:
- Webpark app
- Manipulation des dates
- Multiple forms
- ScrollUp/ScrollDown
- Frames
- Windows
- ScreenShot
- “File Upload/File Download“
- Actions
- “Drag and Drop”
- “Mouseover Action”
- “Right Click / Double Click”
- “Multiple Actions”
- Tables
- Links
- Tooltip
- Autocomplete
- Interception Réseaux (Network Requests) (BIDI)
- Récupération log navigateur (BIDI)
Module 8 : Tests NG
- Introduction à TestNG (le quoi et pourquoi)
- Les différentes “Annotations” de TestNG
- L’exécution des tests avec le fichier testng.xml
- L’exécution de plusieurs fichiers en même temps
- La gestion de la priorité des tests (dependsOnMethods, etc.)
- L’utilisation des paramètres avec TestNG
- Les “DataProviders”
- Concepts avancés : “Grouping, Listeners”
- L’exécution des tests en parallèle avec TestNG
Module 9 : Gradle
- Introduction à l’outil Gradle
- Les concepts fondamentaux de Gradle
- Les commandes du build essentials avec Gradle
Module 10 : Framework d’automatisation de tests web
- Introduction aux concepts du framework
- Les différentes couches nécessaires :
- La couche “Test Cases”
- La couche “DSL”
- La couche “Driver”
- La couche “SUT”
- Le pattern “Page Object Model”
- Structure Globale
- Exemple pratique Mini Projet (Notes App):
- Conception Framework
- Utilisation du Pattern POM
- Multiples scenarios e2e (Auth, Operations CRUD)
- Bonnes Pratiques
Module 11 : Le reporting
- Les caractéristiques d’un bon rapport de tests
- Les différentes options et outils de reporting
- Le reporting avec “Allure Report”
Module 12 : L’intégration Continue / pipelines CI/CD
- Introduction aux concepts d’intégration et livraison continues (pipelines CI/CD)
- Présentation du CircleCI / GitHub Actions
- Intégration du projet de tests dans le pipelines CI/CD
Module 13 : Le mot de la fin
- Synthèse
- Partage de ressources / docs / Articles sur le framework Selenium
Si vous avez des suggestions d’amélioration pour cette formation Selenium WebDriver n’hésitez pas à nous contacter
!