Upload
pmsipilot
View
906
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Tests Selenium
Citation preview
Selenium
Réunion technique
05/03/20102
réunion technique
Oui mais non ...
05/03/20103
réunion technique
Stop au massacre !
• Coupling is the single greatest problem in large software systems.
• Toujours penser :● Qu'on voudra utiliser cette classe dans un contexte
différent (en CLI par exemple !)● Que si, sur le moment c'est pénible, les chatons t'en
remercient
05/03/20104
réunion technique
N'introduisez pas de dépendances
• Non vraiment …• Sinon, au plus simple
● Injection dans le constructeur ● Injection sur certaines méthodes ● Notifiez un événement ● Parlons en …
05/03/20105
réunion technique
Point boulet direct !
05/03/20106
réunion technique
En fait … Epic Fail !
05/03/20107
réunion technique
C'est mieux !
05/03/20108
réunion technique
En plus on t'aide !
• Dans les contrôleurs● $this->getContext()● $this->getPmsipilotContext()
• Dans les formulaires étendant BaseForm● $this->getValidUser()● $this->getValidContext()
05/03/20109
réunion technique
Tests unitaires
• Fatalement on peut les faire sur du code faiblement couplé
• Face à un bug ou une évol d'une classe● Ecrire un test validant le comportement voulu● Faire le dev
• != tests fonctionnels• En général c'est tout simple
05/03/201010
réunion technique
Tests unitaires
05/03/201011
réunion technique
Tests unitaires
• On peut tester :● le retour de fonctions● Le type des objets● Le lancement d'exception● ...
• Cf Adrien• Cf test/unit
05/03/201012
réunion technique
Les tests chez PMSIpilot
• Tests unitaires● Bas niveau● Fonctionnement des classes● Comportements attendus et effets de bord
• Tests fonctionnels● Tester les données, les workflows● Parcourir le logiciel
• Tests d'interfaces● Tester le JS, la CSS● Sur différents navigateurs
05/03/201013
réunion technique
Selenium
• Un framework de test en Javascript (fear !)• Conçu pour tester les interfaces• Pour gérer les différences entre les navigateurs• http://seleniumhq.org/projects/ide/
05/03/201014
réunion technique
Test suite
• OMG c'est hachetéheumelle !• web/selenium/TestSuite_PMSIpilot.html
05/03/201015
réunion technique
Ecrire un test
• MERILESTFOU c'est toujours du hachetéheumelle
05/03/201016
réunion technique
Ecrire un test
• Une instruction● Commande● Cible● Valeur
• Recherche / manip sur des éléments● Facile pour les formulaires et les liens● Xpath est ton ami pour le reste (ou d'autres trucs)● Merci firebug
05/03/201017
réunion technique
Ecrire un test
05/03/201018
réunion technique
Commandes et assertions
• open• click/clickAndWait• verifyTitle/assertTitle• verifyTextPresent• verifyElementPresent• verifyText• verifyTable• waitForPageToLoad• waitForElementPresent
05/03/201019
réunion technique
Démo
05/03/201020
réunion technique
Firefox … ça roule
05/03/201021
réunion technique
IE 7 .. fail !
05/03/201022
réunion technique
ROADMAP
• /pmsipilot/• HUDSON
● http://wiki.hudson-ci.org/display/HUDSON/Selenium+Plugin
05/03/201023
réunion technique
pmsiPicole