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