Réunion technique PMSIpilot - Mars 2010

1,265 views
1,193 views

Published on

Tests Selenium

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,265
On SlideShare
0
From Embeds
0
Number of Embeds
303
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Réunion technique PMSIpilot - Mars 2010

  1. 1. Réunion technique Selenium
  2. 2. Oui mais non ... réunion technique 05/03/2010 2
  3. 3. 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 réunion technique 05/03/2010 3
  4. 4. 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 … réunion technique 05/03/2010 4
  5. 5. Point boulet direct ! réunion technique 05/03/2010 5
  6. 6. En fait … Epic Fail ! réunion technique 05/03/2010 6
  7. 7. C'est mieux ! réunion technique 05/03/2010 7
  8. 8. En plus on t'aide ! • Dans les contrôleurs ● $this->getContext() ● $this->getPmsipilotContext() • Dans les formulaires étendant BaseForm ● $this->getValidUser() ● $this->getValidContext() réunion technique 05/03/2010 8
  9. 9. 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 réunion technique 05/03/2010 9
  10. 10. Tests unitaires réunion technique 05/03/2010 10
  11. 11. Tests unitaires • On peut tester : ● le retour de fonctions ● Le type des objets ● Le lancement d'exception ● ... • Cf Adrien • Cf test/unit réunion technique 05/03/2010 11
  12. 12. 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 réunion technique 05/03/2010 12
  13. 13. 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/ réunion technique 05/03/2010 13
  14. 14. Test suite • OMG c'est hachetéheumelle ! • web/selenium/TestSuite_PMSIpilot.html réunion technique 05/03/2010 14
  15. 15. Ecrire un test • MERILESTFOU c'est toujours du hachetéheumelle réunion technique 05/03/2010 15
  16. 16. 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 réunion technique 05/03/2010 16
  17. 17. Ecrire un test réunion technique 05/03/2010 17
  18. 18. Commandes et assertions • open • click/clickAndWait • verifyTitle/assertTitle • verifyTextPresent • verifyElementPresent • verifyText • verifyTable • waitForPageToLoad • waitForElementPresent réunion technique 05/03/2010 18
  19. 19. Démo réunion technique 05/03/2010 19
  20. 20. Firefox … ça roule réunion technique 05/03/2010 20
  21. 21. IE 7 .. fail ! réunion technique 05/03/2010 21
  22. 22. ROADMAP • /pmsipilot/ • HUDSON ● http://wiki.hudson- ci.org/display/HUDSON/Selenium+Plugin réunion technique 05/03/2010 22
  23. 23. pmsiPicole réunion technique 05/03/2010 23

×