0
CREATIVE COMMONS                                       Gwendal - sojavawest@gmail.com - LicenceTESTS FONCTIONNELSAUTOMATIS...
SOMMAIRE   Application témoin – Spring ROO     Présentation     Atouts                                                 ...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                        APPLICATION TÉMOIN                        ...
SPRING ROO  Framework haute productivité qui permet : de produire rapidement un modèle d’architecture                    ...
ATOUTSo   Particulièrement adapté pour du prototypage rapide à partir d’unmodèle objeto   Très bien documenté             ...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                                            Selenium RC versus Web...
SELENIUM 1 - REMOTE CONTROLo   Bibliothèque JavaScript permettant de simuler desinteractions avec une application Webo Cet...
SELENIUM 2 & WEBDRIVERo  WebDriver est un projet initialement réalisé par uningénieur de chez Google pour piloter directem...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                        SUITE D’OUTILS SELENIUM                   ...
SELENIUM IDE   Selenium IDE est un environnement de développementpour la réalisation de scripts de test, développé sous   ...
SELENIUM SERVER   Selenium server est indispensable pour lancer les testssur une machine distance mais également pour lanc...
CREATIVE COMMONS                                   Gwendal - sojavawest@gmail.com - LicenceRÉALISATION DES TESTSFONCTIONNE...
SELENIUM IDE   Les « + »      Réalisation rapide de scripts de test      Scripts de test aisés à maintenir             ...
LANGAGE DE PROGRAMMATION SUPPORTÉ   Les « + »      Plus robuste et plus homogènes que les tests HTML dans       un conte...
RECOMMANDATIONSLes équipes Selenium recommandent l’écriture des scripts de  test dans le langage de développement choisi p...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                                  Intégration Maven               ...
MAVEN SELENIUM PLUGINPermet de démarrer Selenium server et de lancer une suite de tests HTML.   mvn selenium:selenese    ...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                                  Navigateurs et plateformes suppo...
SELENIUM-WEBDRIVER¶   Google Chrome 12.0.712.0+    Internet Explorer 6, 7, 8, 9 - 32 and 64-bit where applicable         ...
SELENIUM 1.0 AND SELENIUM-RCBrowser         Selenium IDE                Selenium 1 (RC)              Operating SystemsFire...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                        ANNEXES                                  S...
EXEMPLES DE COMMANDES¶roo> hintroo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORYroo> entity jpa --class ...
Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS                        ANNEXES                                  R...
LIENShttp://static.springsource.org/spring-roo/reference/html/index.htmlhttp://blog.xebia.fr/2011/02/18/automatiser-les-te...
Upcoming SlideShare
Loading in...5
×

Tests ihm automatises avec selenium

7,026

Published on

Tests ihm automatises avec selenium

1 Comment
0 Likes
Statistics
Notes
  • Bonjour,

    Il possible (en respectant quelques précautions) de fournir des jeux de données (fichier CSV ou txt) à Selenium IDE.
    Il faut pour cela ajouter une extension à selenium IDE.

    Adrien
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
7,026
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
81
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Tests ihm automatises avec selenium"

  1. 1. CREATIVE COMMONS Gwendal - sojavawest@gmail.com - LicenceTESTS FONCTIONNELSAUTOMATISÉSSELENIUM 2 : WebDriver & Selenium RC
  2. 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. 3. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS APPLICATION TÉMOIN Spring ROO
  4. 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 courammentemployé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 mappingobjet / relationnel. POJO : Plain Old Java Object JPA : Java Persistence Annotation
  5. 5. ATOUTSo Particulièrement adapté pour du prototypage rapide à partir d’unmodèle objeto Très bien documenté Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -o Environnement de développement adapté et completo Courbe d’apprentissage très courteo Les modèles de page, produits avec Tiles et des feuilles de style CSS, sontparfaitement personnalisables,o Grâce à la gestion d’extensions, facilite l’accès à des technologies tellesque : Solr, Google App Engine, Spring Mobile & User Agent Analysis,Selenium…o Spring ROO fournit une méthodologie pas à pas pour débrancher versune application J2E / Spring standard. Petit bémol : Utilise beaucoup l’AOP. Pourrait-être difficile à maintenirsans un environnement adapté tel que Spring Tool Suite.
  6. 6. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS Selenium RC versus WebDriver UN PEU D’HISTOIRE
  7. 7. SELENIUM 1 - REMOTE CONTROLo Bibliothèque JavaScript permettant de simuler desinteractions avec une application Webo Cette bibliothèque devint le Framework Selenium Core Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -, sur lequel se base Selenium Remote Control et SeleniumIDE.o Le JavaScript entraine certaines limitations, notammentdu fait des restrictions de sécurité imposées par lesnavigateurs mais aussi, à cause de la complexitégrandissante des applications Web, utilisant lesfonctionnalités fournies par les navigateurs nouvellegénération.o En 2008, fusion de Selenium et de WebDriver
  8. 8. SELENIUM 2 & WEBDRIVERo WebDriver est un projet initialement réalisé par uningénieur de chez Google pour piloter directement unnavigateur. Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -o Cet outil permet d’interagir avec le navigateur, telqu’un utilisateur humain le ferait, et sans les restrictionsimposés par la technologie JavaScripts.o Le projet Selenium RC est pour le moment maintenupour des raisons de rétrocompatibilité et surtout en modemaintenance. Il ne sera plus maintenu à l’avenir.
  9. 9. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS SUITE D’OUTILS SELENIUM Présentation
  10. 10. SELENIUM IDE Selenium IDE est un environnement de développementpour 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 testdans le navigateur. de rédiger les étapes du script à l’aide des outilsavancés de l’éditeur (autocomplétion, menuscontextuels…).
  11. 11. SELENIUM SERVER Selenium server est indispensable pour lancer les testssur 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érentsnavigateurs supportés. II est rétrocompatible avec les tests implémentés sousSelenium Remote Control.
  12. 12. CREATIVE COMMONS Gwendal - sojavawest@gmail.com - LicenceRÉALISATION DES TESTSFONCTIONNELSEnregistrement VS Implémentation
  13. 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. 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. 15. RECOMMANDATIONSLes é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. 16. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS Intégration Maven ANNEXES
  17. 17. MAVEN SELENIUM PLUGINPermet 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 PLUGINUtiliser pendant la phase de test pour exécuter les tests unitaires et générer les rapports d’erreur. mvn surefire:testMAVEN FAILSAFE PLUGINSurcouche de Surefie destiné à gérer spécifiquement les tests d’intégration mvn failsafe:integration-test mvn failsafe:verify
  18. 18. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS Navigateurs et plateformes supportés ANNEXES
  19. 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. 20. SELENIUM 1.0 AND SELENIUM-RCBrowser Selenium IDE Selenium 1 (RC) Operating SystemsFirefox 3.x Record and playback tests Start browser, run tests Windows, Linux, MacFirefox 3 Record and playback tests Start browser, run tests Windows, Linux, MacFirefox 2 Record and playback tests Start browser, run tests Windows, Linux, Mac Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com - Test execution only viaIE 8 Start browser, run tests Windows Selenium RC* Test execution only viaIE 7 Start browser, run tests Windows Selenium RC* Test execution only viaIE 6 Start browser, run tests Windows Selenium RC* Test execution only viaSafari 4 Start browser, run tests Windows, Mac Selenium RC Test execution only viaSafari 3 Start browser, run tests Windows, Mac Selenium RC Test execution only viaSafari 2 Start browser, run tests Windows, Mac Selenium RC Test execution only viaOpera 10 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only viaOpera 9 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only viaOpera 8 Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only viaGoogle Chrome Start browser, run tests Windows, Linux, Mac Selenium RC Test execution only viaOthers Partial support possible** As applicable Selenium RC
  21. 21. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS ANNEXES Spring ROO
  22. 22. EXEMPLES DE COMMANDES¶roo> hintroo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORYroo> entity jpa --class ~.Timer --testAutomatically Licence CREATIVE COMMONS Gwendal - sojavawest@gmail.com -~.Timer roo> field string --fieldName message --notNullroo> web mvc all --package ~.webroo> selenium test --controller ~.web.TimerControllerroo> web mvc scaffold --class com.foo.web.PersonControllerroo> quit
  23. 23. Gwendal - sojavawest@gmail.com - LicenceCREATIVE COMMONS ANNEXES Ressources
  24. 24. LIENShttp://static.springsource.org/spring-roo/reference/html/index.htmlhttp://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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×