SlideShare une entreprise Scribd logo
1  sur  36
PRESENTATION SUR:
Selenium
PRESENTER PAR:
HARRAK AHMED(MQL)
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)
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.
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.
Selenium
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.
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.
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.
Selenium 1
Selenium 1 n'est rien d'autre que la combinaison de Selenium IDE,
Selenium RC et Selenium Grid.
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.
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.
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.
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
Selenium RC
Architecture du sélénium RC
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
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.
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 .
Selenium IDE
Architecture IDE Selenium
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
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
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é.
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.
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
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
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)
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
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
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)
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.
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".
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
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
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
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..
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.
Merci!
AHMED.HARRAK111@GMAIL.COM

Contenu connexe

Tendances

Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using SeleniumWeifeng Zhang
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: AngularHabib Ayad
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.pptAna Sarbescu
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriverAnuraj S.L
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium gridKnoldus Inc.
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Ippon
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with seleniumTzirla Rozental
 
Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular  Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular Maroua Haddad
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드SangIn Choung
 

Tendances (20)

Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Selenium WebDriver training
Selenium WebDriver trainingSelenium WebDriver training
Selenium WebDriver training
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium grid
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon
 
Selenium
SeleniumSelenium
Selenium
 
Apache Maven 3
Apache Maven 3Apache Maven 3
Apache Maven 3
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Selenium Demo
Selenium DemoSelenium Demo
Selenium Demo
 
Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular  Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 

Similaire à Selenium Tutorial Java

Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec seleniumsojavawest
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing systemLeClubQualiteLogicielle
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adfBacely YoroBi
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason De Oliveira
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Julien Dubois
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKAmico Fabien
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement AzureLevio
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introductionMichel Bruchet
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 

Similaire à Selenium Tutorial Java (20)

Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec selenium
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiK
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement Azure
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introduction
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 

Selenium Tutorial Java

  • 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.