Le tutoriel Selenium fournit des concepts de base et avancés de Selenium.
Selenium est l'une des suites de tests d'automatisation de l'interface utilisateur Web (interface utilisateur) open source les plus utilisées.
Le tutoriel Selenium comprend tous les sujets de Selenium tels que les fonctionnalités, Selenium IDE, Selenium WebDriver, les fonctionnalités WebDriver, WebDriver vs RC, l'installation de WebDriver, etc.
2. PLAN
Selenium
Avantage du Selenium
Limitations du sélénium
Selenium 1
Selenium 2
Selenium 3
Selenium RC
Selenium IDE
Selenium Grid
Selenium WebDriver
Exemple Pratique(Selenium WebDriver)
3. Selenium
Selenium est un ensemble d'outils robustes qui prend en charge le
développement rapide de l'automatisation des tests pour les
applications Web.
Développé par Thought Works en 2004.
Application open source publiée sous la licence Apache 2.0 .
Peut simuler un utilisateur naviguant dans les pages, puis affirmer
des marques spécifiques sur les pages .
Tout ce que vous devez vraiment savoir, c'est le HTML pour
commencer à l'utiliser immédiatement.
4. Selenium
Selenium prend en charge divers systèmes d'exploitation,
navigateurs et langages de programmation. Voici la liste:
Langages de programmation: C #, Java, Python, PHP, Ruby, Perl
et JavaScript
Systèmes d'exploitation: Android, iOS, Windows, Linux, Mac,
Solaris.
Navigateurs: Google Chrome, Mozilla Firefox, Internet Explorer,
Edge, Opera, Safari, etc.
6. Selenium
Le logiciel Selenium n'est pas seulement un outil
unique mais une suite de logiciels, chaque
élément répondant aux différents besoins de test
d'une organisation. Voici la liste des outils :
Selenium Integrated Development
Environment(IDE)
Selenium Remote Control(RC)
WebDriver
Selenium Grid
Pour le moment, Selenium RC et WebDriver
sont fusionnés en un seul framework pour former
Selenium 2. Selenium 1, d'ailleurs, fait référence à
Selenium RC.
7. Avantage du Selenium
Selenium est un framework de test Web open source et portable.
Selenium IDE fournit une fonction de lecture et d'enregistrement pour la création de tests sans avoir
besoin d'apprendre un langage de script de test.
Elle peut être considérée comme la principale plateforme de test basée sur le cloud qui aide les
testeurs à enregistrer leurs actions et à les exporter sous forme de script réutilisable avec une
interface simple à comprendre et à utiliser.
Selenium peut être intégré à des frameworks comme Ant et Maven pour la compilation du code
source.
Selenium peut également être intégré à des frameworks de test tels que TestNG pour tester les
applications et générer des rapports.
Selenium nécessite moins de ressources par rapport aux autres outils de test d'automatisation.
Selenium WebDriver ne nécessite pas d'installation de serveur, les scripts de test interagissent
directement avec le navigateur.
Les commandes Selenium sont classées en termes de classes différentes, ce qui facilite leur
compréhension et leur implémentation.
8. Limitations du sélénium
Selenium ne prend pas en charge les tests d'automatisation pour les applications de
bureau.
Le sélénium nécessite des compétences élevées afin d'automatiser les tests plus
efficacement.
Puisque Selenium est un logiciel open source, vous devez vous fier aux forums
communautaires pour résoudre vos problèmes techniques.
Nous ne pouvons pas effectuer de tests d'automatisation sur des services Web tels
que SOAP ou REST à l'aide de Selenium.
Selenium n'a pas de capacité de reporting intégrée; vous devez compter sur des plug-
ins tels que JUnit et TestNG pour les rapports de test.
Il n'est pas possible d'effectuer des tests sur des images. Nous devons intégrer
Selenium à Sikuli pour les tests basés sur l'image.
Selenium ne fournit aucune intégration d'outil de test pour la gestion des tests.
9. Selenium 1
Selenium 1 n'est rien d'autre que la combinaison de Selenium IDE,
Selenium RC et Selenium Grid.
10. Selenium 2
Plus tard, Selenium 1 (c'est-à-dire Selenium IDE + Selenium RC + Selenium Grid) a
fusionné avec Selenium WebDriver pour rendre Selenium plus puissant et a été lancé sur le
marché sous le nom de Selenium 2 le 8 juillet 2011. Avant cette fusion, il y avait des équipes
distinctes pour développement de Selenium RC et Selenium WebDriver. Comme ces deux
équipes ont identifié que Selenium peut devenir plus puissant en fusionnant Selenium RC et
Selenium WebDriver, et ont finalement publié la version fusionnée de Selenium sous le nom
de Selenium 2 sur le marché.
c'est-à-dire que Selenium 2 est la combinaison de Selenium 1 et Selenium WebDriver.
11. Selenium 3
Selenium 3 est la dernière version sur Selenium et est commercialisé le 13 octobre 2016.
Le grand changement dans cette version est que le Selenium RC qui fait partie de Selenium 2
est abandonné dans Selenium 3. Selenium RC qui implémentait en interne les bibliothèques de
programmes JavaScript de Selenium Core est maintenant remplacé par l'implémentation de
l'API WebDriver. Autrement dit, toutes les tâches qui ne peuvent être effectuées que par
l’implémentation JavaScript de Selenium RC peuvent désormais être effectuées à l’aide de
l’implémentation de l’API WebDriver qui est plus flexible. Il n'y a pas de changement dans
l'implémentation de WebDriver de Selenium 2 à Selenium 3. Seules les bibliothèques
JavaScript Selenium RC ont été remplacées par l'implémentation de l'API WebDriver soutenue
de Selenium 2 à Selenium 3. L'impact de ce changement est moindre, car la plupart des
utilisateurs sont l'écriture de tests dans WebDriver, mais il y a un impact significatif sur les
utilisateurs qui écrivent des tests dans Selenium RC, car Selenium RC ne sera pas pris en
charge par l'équipe Selenium dans les versions futures et devrait donc migrer vers WebDriver
pour un support futur.
12. Selenium 3
Un autre grand changement dans Selenium 3 est que nous devons utiliser le pilote gecko
de Mozilla pour exécuter les scripts Selenium Automation sur le navigateur Firefox.
Jusqu'à Selenium 2, le développement et le support du pilote sélénium pour Firefox sont
fournis par les gars de Selenium utilisant la classe FirefoxDriver dans Selenium, mais à
partir de Selenium 3, le développement et la prise en charge du pilote sélénium pour
Firefox seront fournis par le fournisseur du navigateur Mozilla Firefox utilisant le pilote
gecko. Par conséquent, à partir de Selenium 3, nous devons utiliser le pilote gecko pour
exécuter les scripts Selenium Automation sur le navigateur Firefox.
La société Apple fournira le support de Safari Driver pour l'exécution des scripts Selenium
Automation sur le navigateur Safari du système d'exploitation macOS Sierra.
La société Microsoft fournira la prise en charge de Edge Driver pour l'exécution des scripts
Selenium Automation sur le navigateur Edge.
13. Selenium RC
Selenium Remote Control (officiellement obsolète par le selenium)
Malheureusement; les testeurs utilisant Selenium Core ont dû installer
l'ensemble de l'application testée et le serveur Web sur leurs propres
ordinateurs locaux en raison des restrictions imposées par la même politique
d'origine. Un autre ingénieur de ThoughtWork, Paul Hammant, a donc décidé
de créer un serveur qui agira comme un proxy HTTP pour «tromper» le
navigateur en lui faisant croire que Selenium Core et l'application Web testée
proviennent du même domaine. Ce système est devenu connu sous le nom de
télécommande Selenium ou Selenium 1.
Selenium RC a longtemps été le cadre de test phare de l'ensemble du projet
Selenium. Il s'agit du premier outil de test Web automatisé permettant aux
utilisateurs d'utiliser le langage de programmation de leur choix. À partir de la
version 2.25.0, RC peut prendre en charge les langages de programmation
suivants: Java,C#,PHP,Python,Perl,Ruby .
Paul Hammant
15. Selenium RC
Avantage :
multi-navigateur et multi-plateforme
Peut effectuer des opérations en boucle et conditionnelles
Peut prendre en charge les tests basés sur les données
exécution plus rapide que IDE
Inconvénients :
l'installation est plus compliquée que l'IDE
Nécessite l'exécution du serveur Selenium RC
L'interaction avec le navigateur est moins réaliste
Résultats incohérents et utilise javascript
Temps d'exécution plus lent que WebDriver
16. Selenium IDE
Shinya Kasatani du Japon a créé Selenium IDE(Integrated Development
Environment), une extension Firefox qui peut automatiser le navigateur grâce à
une fonction d'enregistrement et de lecture. Il a eu cette idée pour augmenter
encore la vitesse de création de cas de test. Il a fait don de Selenium IDE au
projet Selenium en 2006.
L'environnement de développement intégré Selenium (IDE) est le cadre le plus
simple de la suite Selenium et le plus facile à apprendre. C'est un plugin Firefox
que vous pouvez installer aussi facilement que possible avec d'autres plugins.
Cependant, en raison de sa simplicité, Selenium IDE ne doit être utilisé que
comme un outil de prototypage. Si vous souhaitez créer des cas de test plus
avancés, vous devrez utiliser Selenium RC ou WebDriver.
17. Selenium IDE
Installation de Selenium IDE :
Étant donné que Selenium IDE est
disponible uniquement en tant
que plug-in Firefox et Chrome,
nous supposons que vous avez
déjà installé le navigateur Mozilla
Firefox dans votre système.
Lancez le navigateur Mozilla
Firefox.
Ouvrez l'URL
https://addons.mozilla.org/en-
us/firefox/addon/selenium-ide/
vous redirigera vers la page
officielle du module
complémentaire de Firefox, et
ajouter Selenium IDE .
19. Selenium IDE
Avantage :
Très facile à utiliser et à installer
Aucune expérience en programmation n'est requise, grâce à des connaissances en HTML
et DOM sont nécessaires.
Peut exporter des tests vers des formats utilisables dans Selenium RC et WebDriver
A l'aide intégrée et le module de rapport des résultats de test
Inconvénients :
Disponible uniquement dans Firefox
Conçu uniquement pour créer des prototypes de tests
Pas de support pour les opérations d'itération et conditionnelles
L'exécution des tests est lente par rapport à celle du sélénium RC et du WebDriver
20. Selenium Grid
Selenium Grid a été développé par Patrick Lightbody pour répondre au besoin
de minimiser autant que possible les temps d'exécution des tests. Il a initialement
appelé le système «QA hébergé». Il était capable de capturer des captures
d'écran du navigateur pendant des étapes importantes, et également d'envoyer
des commandes Selenium à différentes machines simultanément.
Selenium Grid est un outil utilisé avec Selenium RC pour exécuter des tests
parallèles sur différentes machines et différents navigateurs en même temps.
L'exécution parallèle signifie exécuter plusieurs tests à la fois.
Grid utilise le concept hub-node.
Le hub est le point central où vous chargez vos tests.
Les nœuds sont les instances Selenium qui exécuteront les tests que vous avez
chargés sur le hub.
Patrick Lightbody
21. Selenium Grid
Pour installer Selenium Grid, il vous suffit de télécharger le fichier jar Selenium
Server - le même fichier utilisé pour exécuter les tests Selenium
RC.(https://www.selenium.dev/downloads/)
Il existe 2 façons de vérifier si le concentrateur fonctionne: l'un via l'invite de
commande et l'autre via un navigateur
Pour exécuter des scripts de test sur la grille, vous devez utiliser les objets
DesiredCapabilities et RemoteWebDriver.
DesiredCapabilites est utilisé pour définir le type de navigateur et d'OS que
nous automatiserons
RemoteWebDriver est utilisé pour définir le nœud (ou la machine) sur lequel
notre test sera exécuté.
22. Selenium Grid
Architecture Grid
Selenium Grid a une architecture Hub et Node.
Le Hub
Le hub est le point central dans lequel vous chargez
vos tests.
Il ne devrait y avoir qu'un seul hub dans une grille.
Le hub n'est lancé que sur une seule machine, par
exemple, un ordinateur dont le système d'exploitation
est Windows 7 et dont le navigateur est IE.
La machine contenant le hub est l'endroit où les tests
seront exécutés, mais vous verrez le navigateur en
cours d'automatisation sur le nœud.
23. Selenium Grid
Les nœuds
Les nœuds sont les instances Selenium qui exécuteront les tests que vous avez chargés
sur le hub.
Il peut y avoir un ou plusieurs nœuds dans une grille.
Les nœuds peuvent être lancés sur plusieurs machines avec différentes plates-formes et
navigateurs.
Les machines exécutant les nœuds n'ont pas besoin d'être la même plate-forme que
celle du concentrateur.
La grille de sélénium peut être configurée de deux manières différentes; un via la ligne de
commande et l'autre via le fichier de configuration JSON.
Architecture Grid
24. Selenium WebDriver
Simon Stewart a créé WebDriver vers 2006, lorsque les navigateurs et les
applications Web devenaient plus puissants et plus restrictifs avec des programmes
JavaScript comme Selenium Core. C'était le premier cadre de test multiplateforme
capable de contrôler le navigateur à partir du niveau du système d'exploitation.
Selenium WebDriver est le composant le plus important de la suite Selenium Tool.
La dernière version "Selenium 2.0" est intégrée à l'API WebDriver qui fournit une
interface de programmation plus simple et plus concise.
Selenium WebDriver a été introduit pour la première fois dans le cadre de Selenium
v2.0. La version initiale de Selenium, c'est-à-dire Selenium v1, ne comprenait que
IDE, RC et Grid. Cependant, avec la sortie de Selenium v3, RC a été abandonné et
déplacé vers le package hérité.
Dans WebDriver, les scripts de test peuvent être développés à l'aide de l'un des
langages de programmation pris en charge et peuvent être exécutés directement
dans la plupart des navigateurs Web modernes. Les langages pris en charge par
WebDriver incluent C #, Java, Perl, PHP, Python et Ruby.
Simon Stewart
25. Selenium WebDriver
Selenium WebDriver fonctionne beaucoup plus rapidement que Selenium RC car il
appelle directement les navigateurs Web. RC d'autre part a besoin d'un serveur RC
pour interagir avec le navigateur.
WebDriver a une implémentation intégrée du pilote Firefox (Gecko Driver). Pour les
autres navigateurs, vous devez brancher les pilotes spécifiques de leur navigateur pour
communiquer et exécuter le test. Les WebDriver les plus couramment utilisés incluent:
Google Chrome Driver
Internet Explorer Driver
Opera Driver
Safari Driver
HTML Unit Driver (un driver sans tête spécial)
26. Selenium WebDriver
Architecture Selenium WebDriver L'API Selenium WebDriver fournit une facilité
de communication entre les langues et les
navigateurs.
L'image suivante montre la représentation
architecturale de Selenium WebDriver.
Il existe quatre composants de base de WebDriver Architecture:
Liaisons de langage Selenium
Protocole de fil JSON
Pilotes de navigateur
Navigateurs réels
27. Selenium WebDriver
Avantage :
Installation plus simple que Selenium RC
Communique directement avec le navigateur
Temps d'exécution plus rapide que IDE et RC
Pas besoin d'un composant séparé tel que le serveur RC
Inconvénients :
L'installation est plus compliquée que Selenium IDE
Connaissances en programmation requises
Impossible de prendre en charge facilement les nouveaux navigateurs
N'a pas de mécanisme intégré pour consigner les messages d'exécution et générer des
résultats de test
28. Selenium WebDriver
Télécharger et installer Selenium WebDriver
L'installation de Selenium est un processus en 3 étapes:
1. Installer le SDK Java
2. Installez Eclipse
3. Installer les fichiers du Selenium WebDriver
Étape 1 - Installez Java sur votre ordinateur
Téléchargez et installez le kit de développement logiciel
Java (JDK)
(https://www.oracle.com/java/technologies/javase-
downloads.html)
29. Selenium WebDriver
Étape 2 - Installez Eclipse IDE :
Téléchargez et installez la dernière version de "Eclipse IDE for Java Developers"
ici(http://www.eclipse.org/downloads/). Assurez-vous de choisir correctement entre les
versions de Windows 32 bits et 64 bits.
30. Selenium WebDriver
Étape 3 - Téléchargez le
Selenium Java Client Driver:
Vous pouvez télécharger le
Selenium Java Client Driver
ici(https://www.selenium.dev/downl
oads/). Vous y trouverez des pilotes
clients pour d'autres langages,
mais choisissez uniquement celui
pour Java. Ce téléchargement se
présente sous la forme d'un fichier
ZIP nommé "selenium-java-
3.141.59".
31. Selenium WebDriver
Étape 4 - Configurer Eclipse IDE avec WebDriver:
Dans Eclipse ,créez un nouveau projet via File > New
> Java Project. Nommez le projet comme " projetSel".
Une nouvelle fenêtre pop-up ouvrira les détails
comme suit :
nom du projet
Emplacement pour enregistrer le projet
Sélectionnez un JRE d'exécution
Sélectionnez l'option de projet de mise en page
Cliquez sur le bouton Terminer
32. Selenium WebDriver
Étape 4 - Configurer Eclipse IDE avec WebDriver:
Dans cette étape,
Faites un clic droit sur le projet nouvellement créé
et
Sélectionnez New > Package et nommez ce
package comme "newpackage".
Une fenêtre pop-up s'ouvrira pour nommer le
package,
Entrez le nom du package
Cliquez sur le bouton Terminer
33. Selenium WebDriver
Étape 4 - Configurer Eclipse IDE avec WebDriver:
Créez une nouvelle classe Java sous
newpackage en cliquant dessus avec le bouton droit
de la souris, puis en sélectionnant - New > Class,
puis nommez-la « classeSel ». Votre IDE Eclipse
devrait ressembler à l'image ci-dessous.
Lorsque vous cliquez sur Classe, une fenêtre
pop-up s'ouvre, entrez les détails comme
Nom de la classe
Cliquez sur le bouton Terminer
34. Selenium WebDriver
Étape 4 - Configurer Eclipse IDE
avec WebDriver:
Maintenant sélénium WebDriver est
dans Java Build Path
Dans cette étape,
Cliquez avec le bouton droit de la
souris sur "projetSel" et
sélectionnez Properties.
Dans la boîte de dialogue
Propriétés, cliquez sur "Java Build
Path".
Cliquez sur l'onglet Libraries , puis
Cliquez sur "Add External JARs..
35. Selenium WebDriver
Étape 4 - Configurer Eclipse IDE avec
WebDriver:
Lorsque vous cliquez sur "Add External
JARs..", une fenêtre contextuelle s'ouvre.
Sélectionnez les fichiers JAR que vous souhaitez
ajouter.
Après avoir sélectionné les fichiers jar,
cliquez sur le bouton OK.
Sélectionnez tous les fichiers dans le dossier
lib.
Sélectionnez les fichiers en dehors du
dossier lib.
Une fois terminé, cliquez sur le bouton
«Apply and Close»
Enfin, nous avons fini d'importer les
bibliothèques Selenium dans notre projet.