Introduction et Configuration
o L’automatisation de test
L'automatisation des tests consiste à utiliser des outils et des scripts pour vérifier automatiquement
le bon fonctionnement d'un logiciel. Plutôt que de tester chaque fonctionnalité manuellement, des
programmes effectuent ces vérifications de manière autonome.
Pourquoi automatiser les tests ?
1. Gain de Temps : Les tests automatisés peuvent être exécutés plus rapidement que les tests
manuels, ce qui accélère le processus de développement.
2. Réduction des Erreurs : En automatisant les tests, on réduit le risque d'erreurs humaines qui
peuvent se produire lors des tests manuels.
3. Tests Répétitifs : Les tests automatisés peuvent être facilement répétés plusieurs fois, ce qui
est particulièrement utile pour les tests de régression qui vérifient que de nouvelles
modifications n'ont pas introduit de bugs dans des fonctionnalités existantes.
4. Économie : Bien que l'initialisation des tests automatisés demande un investissement en
temps et en ressources, ils peuvent réduire les coûts à long terme en diminuant le besoin de
tests manuels répétés.
o Selenium :
Selenium est un outil open-source utilisé pour automatiser les tests de sites web. Il permet de
simuler des actions d'utilisateur (comme cliquer sur des boutons, remplir des formulaires, etc.) pour
vérifier que les pages web fonctionnent correctement.
Pourquoi Utiliser Selenium ?
1. Automatisation des Tests Web : Selenium permet de tester les sites web de manière
automatique, ce qui accélère le processus de vérification et réduit les erreurs humaines.
2. Support Multi-Navigateurs : Il fonctionne avec plusieurs navigateurs comme Chrome,
Firefox, Safari, et Edge, ce qui permet de s'assurer que les tests sont fiables sur différents
environnements.
3. Flexibilité : Selenium supporte plusieurs langages de programmation tels que Java, Python,
C#, et JavaScript, offrant aux développeurs la possibilité de choisir le langage qu'ils préfèrent.
4. Open-Source : Étant gratuit et largement utilisé, Selenium bénéficie d’une grande
communauté qui contribue à son amélioration continue.
Selenium propose différents outils pour tester des sites web automatiquement :
Selenium WebDriver : C’est l’outil principal qui contrôle les navigateurs et exécute les tests et
permet de simuler des actions comme cliquer sur des boutons, remplir des formulaires, et vérifier
des éléments sur les pages web.
Selenium IDE : Une extension pour navigateur qui permet de créer des tests sans coder et enregistre
les actions que les testeurs effectuent sur un site web, utile pour les débutants.
Selenium Grid : Permet d'exécuter des tests sur plusieurs machines et navigateurs en parallèle, ce
qui est utile pour des tests à grande échelle.
Installation et configuration
o Installation Java JDK :
https://www.oraclide.com/java/technologies/downloads/#jdk22-windows
o Installation Intellij IDEA:
https://www.jetbrains.com/idea/
Selenium WebDriver
Introduction à Selenium WebDriver
o Présentation Maven :
Maven est un outil de gestion et de construction de projets pour les développeurs Java. Il simplifie le
processus de gestion des projets en automatisant plusieurs tâches, telles que la compilation du code
et la gestion des dépendances.
Pourquoi Utiliser Maven ?
1. Gestion des Dépendances : Maven gère automatiquement les bibliothèques dont votre
projet a besoin. Vous spécifiez simplement les dépendances dans un fichier, et Maven les
télécharge pour vous.
2. Standardisation : Il fournit une structure de projet standardisée. Cela facilite la collaboration
en permettant à tous les membres de l'équipe de suivre une même organisation de projet.
3. Automatisation : Maven automatise des tâches courantes comme la compilation, les tests,
et la création de fichiers d’archives. Cela permet de gagner du temps et de réduire les
erreurs.
4. Gestion de Versions : Il aide à gérer les versions de votre projet et les versions des
dépendances, ce qui simplifie les mises à jour et les intégrations.
Fichier pom.xml
• Qu'est-ce que c'est ? : C'est le fichier de configuration principal de Maven, situé à la racine
de votre projet.
• Que contient-il ? : Il définit les dépendances du projet, les plugins nécessaires, les
configurations de build, et plus encore.
o Implémentation Selenium
https://www.selenium.dev/documentation/webdriver/getting_started/install_library/
Écriture de tests simples
o Implémentation WebDriver et Ouverture d’un navigateur (Chrome)
o Méthodes WebDriver
• Naviguer vers URL :
• Maximiser full screen
• Get Url actuel
• Get page Source
• Close et Quit
• Navigate to
Interaction avec les éléments web
o Introduction HTML :
o https://anouc.github.io/creer-ma-premiere-page-html/
Le HTML (Hypertext Markup Language) est un langage de balise, c’est-à-dire un
langage qui permet de décrire le contenu d’un document et d’en donner la
structure.
Pour appliquer du style à votre page web HTML il vous faut intégrer le CSS (Feuille de style
en cascade). Ainsi, les propriétés CSS que vous ajoutez vont pouvoir s'appliquer aux balises
HTML auxquelles vous souhaitez qu'elles s'appliquent en utilisant les attributs.
Attribut
o Localisation des éléments
Par id :
Par name :
Par classname :
Par xpath :
Xpath relatif: permet de localiser des éléments sur une page web en se basant sur leurs relations
avec d'autres éléments, en partant d'un nœud de contexte spécifique.
XPath Absolu : commence à la racine du document HTML et suit un chemin complet jusqu'à
l'élément cible
Par CssSelector :
o Actions sur les éléments
• Saisir le texte :
• Clic :
• Sélection dans des listes déroulantes
• Gestion des boutons radio :
https://www.tutorialspoint.com/selenium/practice/radio-button.php
• Cases à cocher :
https://www.tutorialspoint.com/selenium/practice/check-box.php