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
Upcoming SlideShare
Loading in …5
×

Light Talk - Premier pas avec Sikuli

1,013 views

Published on

Petite présentation de Sikuli versus Selenium.

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

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

  • Be the first to like this

No Downloads
Views
Total views
1,013
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer
    - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA
    - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • Les autres outils sont dans le meme esprit que nagios NNM
  • Les autres outils sont dans le meme esprit que nagios NNM
  • Les autres outils sont dans le meme esprit que nagios NNM
  • 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

    ×