Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Premiers pas avec Sikuli

Par Erwan 'Labynocle' Ben Souiden (erwan@aleikoum.net ­ @labynocle)
Durée : 30 minutes
Version d...
Plan de la présentation

I.
II.

Mais je connais déjà Selenium !

III.

Voyons ce que ça donne...

IV.

Premier pas avec S...
Sikuli kesako ? ::



Sikuli est un système pour automatiser les tests des GUIs



La particularité de ce système est qu...
Mais je connais déjà Selenium ! ::

(image: Futurama ­ memegenerator.net)
Premier pas avec Sikuli

4
Mais je connais déjà Selenium ! ::



Selenium réalise des tests et des actions uniquement sur les objets d'une page web
...
Mais je connais déjà Selenium ! ::



Selenium ne vérifie que le code et non la perception utilisateur – exemple image ca...
Mais je connais déjà Selenium ! ::



Selenium ne vérifie que le code et non la perception utilisateur – exemple image pi...
Mais je connais déjà Selenium ! ::



Selenium ne vérifie que le code et non la perception utilisateur – interprétation d...
Mais je connais déjà Selenium ! ::



Les développeurs doivent concevoir les pages pour être testées

id=player_control_p...
Mais je connais déjà Selenium ! ::



Les développeurs doivent concevoir les pages pour être testées

//a[@id='naboo_menu...
Mais je connais déjà Selenium ! ::



Les développeurs doivent concevoir les pages pour être testées

link=Distractions (...
Mais je connais déjà Selenium ! ::



Les développeurs doivent concevoir les pages pour être testées

//tr[@id='naboo_dat...
Mais je connais déjà Selenium ! ::


Les tests Selenium se génère avec une IDE – plugin Firefox

Premier pas avec Sikuli
...
Mais je connais déjà Selenium ! ::


Le code généré pour le test est en Java...

Premier pas avec Sikuli

14
Mais je connais déjà Selenium ! ::
Selenium est un très bon outil mais :
 Lourd à maintenir, à garder à jour ou à reprend...
Voyons ce que ça donne ::



Sous Debian/Ubuntu ­ Installation simplifiée par package :
apt-get install sikuli-ide

ou
ap...
Voyons ce que ça donne ::



l'IDE :

Premier pas avec Sikuli

17
Voyons ce que ça donne ::



Exemple de script dans l'IDE:

Premier pas avec Sikuli

18
Voyons ce que ça donne ::



Code généré par l'IDE :

Premier pas avec Sikuli

19
Voyons ce que ça donne ::

(image: memegenerator.net)
Premier pas avec Sikuli

20
Conclusion ::



Sikuli est un système pour automatiser les tests des GUIs de n'importe quelle application : sites web,
a...
Conclusion ::



Transition Selenium → Sikuli coûteuse



Non tolérant à une refonte visuel



Ne test pas l'intégrité ...
Conclusion ::

Don't believe me try it yourself!

(image: The Big Bang Theory TV Show)
Premier pas avec Sikuli

23
Conclusion ::

Questions ?

(image: xkcd.org)
Premier pas avec Sikuli

24
Prochain SlideShare
Chargement dans…5
×

Light Talk - Premier pas avec Sikuli

1 114 vues

Publié le

Petite présentation de Sikuli versus Selenium.

L'exemple est de la présentation est disponnible sur https://github.com/labynocle/talk-td_tp

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Light Talk - Premier pas avec Sikuli

  1. 1. Premiers pas avec Sikuli Par Erwan 'Labynocle' Ben Souiden (erwan@aleikoum.net ­ @labynocle) Durée : 30 minutes Version du document : 0.1
  2. 2. Plan de la présentation I. II. Mais je connais déjà Selenium ! III. Voyons ce que ça donne... IV. Premier pas avec Sikuli Sikuli kesako ? Conclusion 2
  3. 3. Sikuli kesako ? ::  Sikuli est un système pour automatiser les tests des GUIs  La particularité de ce système est qu'il repose entièrement sur des screenshots pour réaliser les tests et actions  Le projet est initialement dévéloppé par l'User Interface Design Group du MIT  Aujourd'hui le projet est maintenu par Raimund 'RaiMan' Hocke, la communauté open­source et le Sikuli Lab (University of Colorado Boulder)  La version stable courante est la 1.0.1 – sortie le 12/08/2013 – écrit en Jython  Le projet est sous license MIT  Le site officiel : http://www.sikuli.org/  Les sources du projet : https://github.com/RaiMan/SikuliX­IDE Premier pas avec Sikuli 3
  4. 4. Mais je connais déjà Selenium ! :: (image: Futurama ­ memegenerator.net) Premier pas avec Sikuli 4
  5. 5. Mais je connais déjà Selenium ! ::  Selenium réalise des tests et des actions uniquement sur les objets d'une page web (comme une div, une image, un lien...)  Importantes implications :  • Les développeurs doivent concevoir les pages pour être testées – tout doit avoir des IDs • Selenium ne vérifie que le code et non la perception utilisateur • On ne peut tester que des éléments Web avec Selenium... • … et pas forcément tout – comme le Flash ! Selenium est donc par nature limité Premier pas avec Sikuli 5
  6. 6. Mais je connais déjà Selenium ! ::  Selenium ne vérifie que le code et non la perception utilisateur – exemple image cassée Non détecté par Selenium ! Premier pas avec Sikuli 6
  7. 7. Mais je connais déjà Selenium ! ::  Selenium ne vérifie que le code et non la perception utilisateur – exemple image piratée Non détecté par Selenium ! Premier pas avec Sikuli 7
  8. 8. Mais je connais déjà Selenium ! ::  Selenium ne vérifie que le code et non la perception utilisateur – interprétation différente Non détecté par Selenium ! Premier pas avec Sikuli 8
  9. 9. Mais je connais déjà Selenium ! ::  Les développeurs doivent concevoir les pages pour être testées id=player_control_play Premier pas avec Sikuli 9
  10. 10. Mais je connais déjà Selenium ! ::  Les développeurs doivent concevoir les pages pour être testées //a[@id='naboo_menu_element_playlist_544759055']/span[2] Premier pas avec Sikuli 10
  11. 11. Mais je connais déjà Selenium ! ::  Les développeurs doivent concevoir les pages pour être testées link=Distractions (Intro) Premier pas avec Sikuli 11
  12. 12. Mais je connais déjà Selenium ! ::  Les développeurs doivent concevoir les pages pour être testées //tr[@id='naboo_datagrid_track_2262046']/td[6]/div/a ou //a[contains(@href, '/album/225975')] ou //tr[2]/td[6]/div/a Premier pas avec Sikuli 12
  13. 13. Mais je connais déjà Selenium ! ::  Les tests Selenium se génère avec une IDE – plugin Firefox Premier pas avec Sikuli 13
  14. 14. Mais je connais déjà Selenium ! ::  Le code généré pour le test est en Java... Premier pas avec Sikuli 14
  15. 15. Mais je connais déjà Selenium ! :: Selenium est un très bon outil mais :  Lourd à maintenir, à garder à jour ou à reprendre  Compliqué à debugger  IDE pas très intuitive (cf. live record)  Limité aux tests d'interface web Cependant il reste intéressant car :  Tolérant au changement de look de l'interface  Valide l'intégrité du code Premier pas avec Sikuli 15
  16. 16. Voyons ce que ça donne ::  Sous Debian/Ubuntu ­ Installation simplifiée par package : apt-get install sikuli-ide ou apt-get install libcv2.4 libhighgui2.4 libcvaux2.4 libswing-layout-java libsikuli-script-jni wget https://launchpad.net/sikuli/sikulix/1.0.1/+download/sikuli-setup.jar java -jar sikuli-setup.jar  Utilisation facile : Lancer l'IDE :  Lancer un script :  Premier pas avec Sikuli ./runIDE ./runIDE -r ./Test1.sikuli/ 16
  17. 17. Voyons ce que ça donne ::  l'IDE : Premier pas avec Sikuli 17
  18. 18. Voyons ce que ça donne ::  Exemple de script dans l'IDE: Premier pas avec Sikuli 18
  19. 19. Voyons ce que ça donne ::  Code généré par l'IDE : Premier pas avec Sikuli 19
  20. 20. Voyons ce que ça donne :: (image: memegenerator.net) Premier pas avec Sikuli 20
  21. 21. Conclusion ::  Sikuli est un système pour automatiser les tests des GUIs de n'importe quelle application : sites web, applications (Iphone, Androïd, Flash)...  Valide l'expérience utilisateur  Les scripts sont écrits en Python  Une IDE existe pour générer automatiquement les tests sans jamais avoir scripter  Facile à faire évoluer et maintenir  Tout ce qu'on peut faire en python peut être fait avec Sikuli  Packages pour l'installation, communauté réactive, intégration facile dans Jenkins, cross plateform... Premier pas avec Sikuli 21
  22. 22. Conclusion ::  Transition Selenium → Sikuli coûteuse  Non tolérant à une refonte visuel  Ne test pas l'intégrité du code  Attention aux faux positifs !  Techno encore jeune Premier pas avec Sikuli 22
  23. 23. Conclusion :: Don't believe me try it yourself! (image: The Big Bang Theory TV Show) Premier pas avec Sikuli 23
  24. 24. Conclusion :: Questions ? (image: xkcd.org) Premier pas avec Sikuli 24

×