SlideShare une entreprise Scribd logo
CREATIVE COMMONS
                                       Gwendal - sojavawest@gmail.com - Licence
TESTS FONCTIONNELS
AUTOMATISÉS
SELENIUM 2 : WebDriver & Selenium RC
SOMMAIRE
   Application témoin – Spring ROO
     Présentation
     Atouts




                                                   Licence CREATIVE COMMONS
                                                   Gwendal - sojavawest@gmail.com -
   Un peu d’histoire
     Selenium Remote Control
     Selenium 2 & WebDriver

   Suite d’outils Selenium
     Selenium IDE
     Selenium server

   Exécution des tests fonctionnels automatisés
     Selenium server
     Junit
     Intégration Maven
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                        APPLICATION TÉMOIN
                                             Spring ROO
SPRING ROO
  Framework haute productivité qui permet :
 de produire rapidement un modèle d’architecture




                                                              Licence CREATIVE COMMONS
                                                              Gwendal - sojavawest@gmail.com -
applicative, basé sur des technologies couramment
employées (Maven, Spring core/MVC/security, JPA,
REST…)
  faire de la génération de code (ou Scaffholding) à
partir du modèle objet (approche « model first ») jusqu’à
la couche de présentation.
Les objets métiers, ou entités, sont des objets Java (POJO)
portant des annotations JPA pour décrire le mapping
objet / relationnel.

    POJO : Plain Old Java Object
    JPA : Java Persistence Annotation
ATOUTS
o   Particulièrement adapté pour du prototypage rapide à partir d’un
modèle objet
o   Très bien documenté




                                                                                  Licence CREATIVE COMMONS
                                                                                  Gwendal - sojavawest@gmail.com -
o   Environnement de développement adapté et complet
o   Courbe d’apprentissage très courte
o   Les modèles de page, produits avec Tiles et des feuilles de style CSS, sont
parfaitement personnalisables,
o   Grâce à la gestion d’extensions, facilite l’accès à des technologies telles
que : Solr, Google App Engine, Spring Mobile & User Agent Analysis,
Selenium…
o   Spring ROO fournit une méthodologie pas à pas pour débrancher vers
une application J2E / Spring standard.



  Petit bémol : Utilise beaucoup l’AOP. Pourrait-être difficile à maintenir
sans un environnement adapté tel que Spring Tool Suite.
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                                            Selenium RC versus WebDriver
                        UN PEU D’HISTOIRE
SELENIUM 1 - REMOTE CONTROL
o   Bibliothèque JavaScript permettant de simuler des
interactions avec une application Web
o Cette bibliothèque devint le Framework Selenium Core




                                                            Licence CREATIVE COMMONS
                                                            Gwendal - sojavawest@gmail.com -
, sur lequel se base Selenium Remote Control et Selenium
IDE.
o Le JavaScript entraine certaines limitations, notamment
du fait des restrictions de sécurité imposées par les
navigateurs mais aussi, à cause de la complexité
grandissante des applications Web, utilisant les
fonctionnalités fournies par les navigateurs nouvelle
génération.
o En 2008, fusion de Selenium et de WebDriver
SELENIUM 2 & WEBDRIVER
o  WebDriver est un projet initialement réalisé par un
ingénieur de chez Google pour piloter directement un
navigateur.




                                                               Licence CREATIVE COMMONS
                                                               Gwendal - sojavawest@gmail.com -
o Cet outil permet d’interagir avec le navigateur, tel
qu’un utilisateur humain le ferait, et sans les restrictions
imposés par la technologie JavaScripts.
o Le projet Selenium RC est pour le moment maintenu
pour des raisons de rétrocompatibilité et surtout en mode
maintenance. Il ne sera plus maintenu à l’avenir.
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                        SUITE D’OUTILS SELENIUM
                                                  Présentation
SELENIUM IDE

   Selenium IDE est un environnement de développement
pour la réalisation de scripts de test, développé sous




                                                               Licence CREATIVE COMMONS
                                                               Gwendal - sojavawest@gmail.com -
forme d’extension Firefox.
   Il permet entre autre :
 d’enregistrer les scripts simplement en effectuant le test
dans le navigateur.
 de rédiger les étapes du script à l’aide des outils
avancés de l’éditeur             (autocomplétion, menus
contextuels…).
SELENIUM SERVER

   Selenium server est indispensable pour lancer les tests
sur une machine distance mais également pour lancer




                                                             Licence CREATIVE COMMONS
                                                             Gwendal - sojavawest@gmail.com -
une suite de test HTML en local et sur les différents
navigateurs supportés.
   II est rétrocompatible avec les tests implémentés sous
Selenium Remote Control.
CREATIVE COMMONS
                                   Gwendal - sojavawest@gmail.com - Licence
RÉALISATION DES TESTS
FONCTIONNELS
Enregistrement VS Implémentation
SELENIUM IDE
   Les « + »
      Réalisation rapide de scripts de test
      Scripts de test aisés à maintenir




                                                                    Licence CREATIVE COMMONS
                                                                    Gwendal - sojavawest@gmail.com -
      Rapports d’exécution esthétiques et exploitables en
       l’état
      Facile à échanger avec les équipes de tests
   Les « – »
      Scripts de test non variabilisables
      Incompatible avec les composants Flash, Java
       (Applet)…
      Intégration dans l’environnement de développement
       par l’intermédiaire d’un outil de « build », tel que Maven
       (voire batchs)
LANGAGE DE PROGRAMMATION SUPPORTÉ
   Les « + »
      Plus robuste et plus homogènes que les tests HTML dans
       un contexte projet




                                                                Licence CREATIVE COMMONS
                                                                Gwendal - sojavawest@gmail.com -
      Variabilisables / maîtrise des saisies / supporte les
       conditions et les itérations offert
      Accès à toutes les API supportées par le langage
      Intégration continue
   Les « – »
      Charge de développement plus importante (environ 20-
       25 % PTU)
      Plus dur à maintenir dans la durée
      Moins portable
      Ne permet pas un échange avec les équipes de tests
RECOMMANDATIONS
Les équipes Selenium recommandent l’écriture des scripts de
  test dans le langage de développement choisi pour le
  projet, pour plus de robustesse et de stabilité.




                                                                 Licence CREATIVE COMMONS
                                                                 Gwendal - sojavawest@gmail.com -
Cependant, pour des tests simples, pour des tests « manuels »,
 pour des scripts de test destinés à une population autre
 que des développeurs, les tests HTML peuvent être
 appropriés.
Pour des tests implémentés en Java, le design pattern
  recommandé est celui implémenté ici :
  http://code.google.com/p/selenium/wiki/PageObjects
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                                  Intégration Maven
                        ANNEXES
MAVEN SELENIUM PLUGIN
Permet de démarrer Selenium server et de lancer une suite de tests HTML.
   mvn selenium:selenese




                                                                                              Licence CREATIVE COMMONS
                                                                                              Gwendal - sojavawest@gmail.com -
MAVEN SUREFIRE PLUGIN
Utiliser pendant la phase de test pour exécuter les tests unitaires et générer les rapports
     d’erreur.
   mvn surefire:test



MAVEN FAILSAFE PLUGIN
Surcouche de Surefie destiné à gérer spécifiquement les tests d’intégration
   mvn failsafe:integration-test
   mvn failsafe:verify
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                                  Navigateurs et plateformes supportés
                        ANNEXES
SELENIUM-WEBDRIVER¶

   Google Chrome 12.0.712.0+
    Internet Explorer 6, 7, 8, 9 - 32 and 64-bit where applicable




                                                                    Licence CREATIVE COMMONS
                                                                    Gwendal - sojavawest@gmail.com -


   Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7
   Opera 11.5+
   HtmlUnit 2.9
   Android – 2.3+ for phones and tablets (devices & emulators)
   iOS 3+ for phones (devices & emulators) and 3.2+ for tablets
    (devices & emulators)
SELENIUM 1.0 AND SELENIUM-RC
Browser         Selenium IDE                Selenium 1 (RC)              Operating Systems
Firefox 3.x     Record and playback tests   Start browser, run tests     Windows, Linux, Mac
Firefox 3       Record and playback tests   Start browser, run tests     Windows, Linux, Mac
Firefox 2       Record and playback tests   Start browser, run tests     Windows, Linux, Mac




                                                                                               Licence CREATIVE COMMONS
                                                                                               Gwendal - sojavawest@gmail.com -
                Test execution only via
IE 8                                        Start browser, run tests     Windows
                Selenium RC*
                Test execution only via
IE 7                                        Start browser, run tests     Windows
                Selenium RC*
                Test execution only via
IE 6                                        Start browser, run tests     Windows
                Selenium RC*
                Test execution only via
Safari 4                                    Start browser, run tests     Windows, Mac
                Selenium RC
                Test execution only via
Safari 3                                    Start browser, run tests     Windows, Mac
                Selenium RC
                Test execution only via
Safari 2                                    Start browser, run tests     Windows, Mac
                Selenium RC
                Test execution only via
Opera 10                                    Start browser, run tests     Windows, Linux, Mac
                Selenium RC
                Test execution only via
Opera 9                                     Start browser, run tests     Windows, Linux, Mac
                Selenium RC
                Test execution only via
Opera 8                                     Start browser, run tests     Windows, Linux, Mac
                Selenium RC
                Test execution only via
Google Chrome                               Start browser, run tests     Windows, Linux, Mac
                Selenium RC
                Test execution only via
Others                                      Partial support possible**   As applicable
                Selenium RC
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                        ANNEXES
                                  Spring ROO
EXEMPLES DE COMMANDES¶
roo> hint
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.Timer --testAutomatically




                                                                      Licence CREATIVE COMMONS
                                                                      Gwendal - sojavawest@gmail.com -
~.Timer roo> field string --fieldName message --notNull
roo> web mvc all --package ~.web
roo> selenium test --controller ~.web.TimerController
roo> web mvc scaffold --class com.foo.web.PersonController
roo> quit
Gwendal - sojavawest@gmail.com - Licence
CREATIVE COMMONS
                        ANNEXES
                                  Ressources
LIENS
http://static.springsource.org/spring-roo/reference/html/index.html
http://blog.xebia.fr/2011/02/18/automatiser-les-tests-selenium-avec-maven/
http://www.hascode.com/2012/03/selenium-webdriver-selenium-server-and-




                                                                             Licence CREATIVE COMMONS
                                                                             Gwendal - sojavawest@gmail.com -
pageobjects-by-example/
docs.seleniumhq.org/docs/01_introducing_selenium.jsp

Contenu connexe

Tendances

présentation de soutenance PFE
présentation de soutenance PFEprésentation de soutenance PFE
présentation de soutenance PFE
Karim Labidi
 
Modele-elearning
Modele-elearningModele-elearning
Modele-elearning
Boughanmi Sobhi IHBOS
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
Ilef Ben Slima
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Présentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employésPrésentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employés
Meher Zayani
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT)
Mohammed JAITI
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
Christophe Rochefolle
 
E-learning
E-learningE-learning
E-learning
Donia Hammami
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VAS
Ahmed MAALEJ
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Raoua Bennasr
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012
jedjenderedjian
 
Plateforme e-learning PHP
Plateforme e-learning PHP Plateforme e-learning PHP
Plateforme e-learning PHP
Saâd Zerhouni
 
Présentation PFE Mastère PRO
Présentation PFE Mastère PROPrésentation PFE Mastère PRO
Présentation PFE Mastère PRO
ahmedmiha
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
AHMEDAKHACHKHOUCH
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help desk
Raef Ghribi
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
Ghali Rahma
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Ghali Rahma
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
Mohamed Ayoub OUERTATANI
 

Tendances (20)

présentation de soutenance PFE
présentation de soutenance PFEprésentation de soutenance PFE
présentation de soutenance PFE
 
Modele-elearning
Modele-elearningModele-elearning
Modele-elearning
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learning
 
Présentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employésPrésentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employés
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT)
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
E-learning
E-learningE-learning
E-learning
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VAS
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012
 
Plateforme e-learning PHP
Plateforme e-learning PHP Plateforme e-learning PHP
Plateforme e-learning PHP
 
Présentation PFE Mastère PRO
Présentation PFE Mastère PROPrésentation PFE Mastère PRO
Présentation PFE Mastère PRO
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help desk
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
 
Projet
ProjetProjet
Projet
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 

Similaire à Tests ihm automatises avec selenium

Selenium Tutorial Java
Selenium Tutorial  JavaSelenium Tutorial  Java
Selenium Tutorial Java
Ahmed HARRAK
 
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
LeClubQualiteLogicielle
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
GreenIvory
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java
Ahmed HARRAK
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
Clément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
François Petitit
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
Arnaud Héritier
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
Emmanuel Hugonnet
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
Microsoft
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
qsdqsd4
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloud
kalistick
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
Jason De Oliveira
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
Philippe Sentenac
 
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab ManagementGérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
Microsoft
 
Soiree Maven 2
Soiree Maven 2Soiree Maven 2
Soiree Maven 2
Laurent RUAUD
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
OCTO Technology
 
Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?
Frederic Dewinne
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
TelecomValley
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
AnisSalhi3
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
Microsoft
 

Similaire à Tests ihm automatises avec selenium (20)

Selenium Tutorial Java
Selenium Tutorial  JavaSelenium Tutorial  Java
Selenium Tutorial Java
 
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
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloud
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab ManagementGérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab Management
 
Soiree Maven 2
Soiree Maven 2Soiree Maven 2
Soiree Maven 2
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 

Tests ihm automatises avec selenium

  • 1. CREATIVE COMMONS Gwendal - sojavawest@gmail.com - Licence TESTS FONCTIONNELS AUTOMATISÉS SELENIUM 2 : WebDriver & Selenium RC
  • 2. SOMMAIRE  Application témoin – Spring ROO  Présentation  Atouts Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -  Un peu d’histoire  Selenium Remote Control  Selenium 2 & WebDriver  Suite d’outils Selenium  Selenium IDE  Selenium server  Exécution des tests fonctionnels automatisés  Selenium server  Junit  Intégration Maven
  • 3. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS APPLICATION TÉMOIN Spring ROO
  • 4. SPRING ROO Framework haute productivité qui permet :  de produire rapidement un modèle d’architecture Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - applicative, basé sur des technologies couramment employées (Maven, Spring core/MVC/security, JPA, REST…)  faire de la génération de code (ou Scaffholding) à partir du modèle objet (approche « model first ») jusqu’à la couche de présentation. Les objets métiers, ou entités, sont des objets Java (POJO) portant des annotations JPA pour décrire le mapping objet / relationnel. POJO : Plain Old Java Object JPA : Java Persistence Annotation
  • 5. ATOUTS o Particulièrement adapté pour du prototypage rapide à partir d’un modèle objet o Très bien documenté Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - o Environnement de développement adapté et complet o Courbe d’apprentissage très courte o Les modèles de page, produits avec Tiles et des feuilles de style CSS, sont parfaitement personnalisables, o Grâce à la gestion d’extensions, facilite l’accès à des technologies telles que : Solr, Google App Engine, Spring Mobile & User Agent Analysis, Selenium… o Spring ROO fournit une méthodologie pas à pas pour débrancher vers une application J2E / Spring standard.  Petit bémol : Utilise beaucoup l’AOP. Pourrait-être difficile à maintenir sans un environnement adapté tel que Spring Tool Suite.
  • 6. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS Selenium RC versus WebDriver UN PEU D’HISTOIRE
  • 7. SELENIUM 1 - REMOTE CONTROL o Bibliothèque JavaScript permettant de simuler des interactions avec une application Web o Cette bibliothèque devint le Framework Selenium Core Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - , sur lequel se base Selenium Remote Control et Selenium IDE. o Le JavaScript entraine certaines limitations, notamment du fait des restrictions de sécurité imposées par les navigateurs mais aussi, à cause de la complexité grandissante des applications Web, utilisant les fonctionnalités fournies par les navigateurs nouvelle génération. o En 2008, fusion de Selenium et de WebDriver
  • 8. SELENIUM 2 & WEBDRIVER o WebDriver est un projet initialement réalisé par un ingénieur de chez Google pour piloter directement un navigateur. Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - o Cet outil permet d’interagir avec le navigateur, tel qu’un utilisateur humain le ferait, et sans les restrictions imposés par la technologie JavaScripts. o Le projet Selenium RC est pour le moment maintenu pour des raisons de rétrocompatibilité et surtout en mode maintenance. Il ne sera plus maintenu à l’avenir.
  • 9. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS SUITE D’OUTILS SELENIUM Présentation
  • 10. SELENIUM IDE Selenium IDE est un environnement de développement pour la réalisation de scripts de test, développé sous Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - forme d’extension Firefox. Il permet entre autre :  d’enregistrer les scripts simplement en effectuant le test dans le navigateur.  de rédiger les étapes du script à l’aide des outils avancés de l’éditeur (autocomplétion, menus contextuels…).
  • 11. SELENIUM SERVER Selenium server est indispensable pour lancer les tests sur une machine distance mais également pour lancer Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - une suite de test HTML en local et sur les différents navigateurs supportés. II est rétrocompatible avec les tests implémentés sous Selenium Remote Control.
  • 12. CREATIVE COMMONS Gwendal - sojavawest@gmail.com - Licence RÉALISATION DES TESTS FONCTIONNELS Enregistrement VS Implémentation
  • 13. SELENIUM IDE  Les « + »  Réalisation rapide de scripts de test  Scripts de test aisés à maintenir Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -  Rapports d’exécution esthétiques et exploitables en l’état  Facile à échanger avec les équipes de tests  Les « – »  Scripts de test non variabilisables  Incompatible avec les composants Flash, Java (Applet)…  Intégration dans l’environnement de développement par l’intermédiaire d’un outil de « build », tel que Maven (voire batchs)
  • 14. LANGAGE DE PROGRAMMATION SUPPORTÉ  Les « + »  Plus robuste et plus homogènes que les tests HTML dans un contexte projet Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -  Variabilisables / maîtrise des saisies / supporte les conditions et les itérations offert  Accès à toutes les API supportées par le langage  Intégration continue  Les « – »  Charge de développement plus importante (environ 20- 25 % PTU)  Plus dur à maintenir dans la durée  Moins portable  Ne permet pas un échange avec les équipes de tests
  • 15. RECOMMANDATIONS Les équipes Selenium recommandent l’écriture des scripts de test dans le langage de développement choisi pour le projet, pour plus de robustesse et de stabilité. Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - Cependant, pour des tests simples, pour des tests « manuels », pour des scripts de test destinés à une population autre que des développeurs, les tests HTML peuvent être appropriés. Pour des tests implémentés en Java, le design pattern recommandé est celui implémenté ici : http://code.google.com/p/selenium/wiki/PageObjects
  • 16. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS Intégration Maven ANNEXES
  • 17. MAVEN SELENIUM PLUGIN Permet de démarrer Selenium server et de lancer une suite de tests HTML.  mvn selenium:selenese Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - MAVEN SUREFIRE PLUGIN Utiliser pendant la phase de test pour exécuter les tests unitaires et générer les rapports d’erreur.  mvn surefire:test MAVEN FAILSAFE PLUGIN Surcouche de Surefie destiné à gérer spécifiquement les tests d’intégration  mvn failsafe:integration-test  mvn failsafe:verify
  • 18. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS Navigateurs et plateformes supportés ANNEXES
  • 19. SELENIUM-WEBDRIVER¶  Google Chrome 12.0.712.0+ Internet Explorer 6, 7, 8, 9 - 32 and 64-bit where applicable Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -   Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7  Opera 11.5+  HtmlUnit 2.9  Android – 2.3+ for phones and tablets (devices & emulators)  iOS 3+ for phones (devices & emulators) and 3.2+ for tablets (devices & emulators)
  • 20. SELENIUM 1.0 AND SELENIUM-RC Browser Selenium IDE Selenium 1 (RC) Operating Systems Firefox 3.x Record and playback tests Start browser, run tests Windows, Linux, Mac Firefox 3 Record and playback tests Start browser, run tests Windows, Linux, Mac Firefox 2 Record and playback tests Start browser, run tests Windows, Linux, Mac Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - Test execution only via IE 8 Start browser, run tests Windows Selenium RC* Test execution only via IE 7 Start browser, run tests Windows Selenium RC* Test execution only via IE 6 Start browser, run tests Windows Selenium RC* Test execution only via Safari 4 Start browser, run tests Windows, Mac Selenium RC Test execution only via Safari 3 Start browser, run tests Windows, Mac Selenium RC Test execution only via Safari 2 Start browser, run tests Windows, Mac Selenium RC Test execution only via Opera 10 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only via Opera 9 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only via Opera 8 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only via Google Chrome Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only via Others Partial support possible** As applicable Selenium RC
  • 21. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS ANNEXES Spring ROO
  • 22. EXEMPLES DE COMMANDES¶ roo> hint roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY roo> entity jpa --class ~.Timer --testAutomatically Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - ~.Timer roo> field string --fieldName message --notNull roo> web mvc all --package ~.web roo> selenium test --controller ~.web.TimerController roo> web mvc scaffold --class com.foo.web.PersonController roo> quit
  • 23. Gwendal - sojavawest@gmail.com - Licence CREATIVE COMMONS ANNEXES Ressources