SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Premiers pas avec Sikuli

Par Erwan 'Labynocle' Ben Souiden (erwan@aleikoum.net ­ @labynocle)
Durée : 30 minutes
Version du document : 0.1
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
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
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
(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
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
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
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
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
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
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
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
Mais je connais déjà Selenium ! ::


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

Premier pas avec Sikuli

13
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 à 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
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
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,
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie Light Talk - Premier pas avec Sikuli

P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2Jérôme Esnault
 
Midi technique - présentation d'ionic
Midi technique - présentation d'ionicMidi technique - présentation d'ionic
Midi technique - présentation d'ionicOlivier Eeckhoutte
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdfmed_univ78
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMireille Blay-Fornarino
 
Moby project - LinuxKit
Moby project -  LinuxKitMoby project -  LinuxKit
Moby project - LinuxKitEmmanuel CARRE
 
Comparatif des outils de prototypage
Comparatif des outils de prototypageComparatif des outils de prototypage
Comparatif des outils de prototypageGianni Polito
 
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Association Agile Nantes
 
Toolbox du designer : Useberry
Toolbox du designer : UseberryToolbox du designer : Useberry
Toolbox du designer : UseberryLudivine Dobigny
 
Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Open Source Experience
 

Ähnlich wie Light Talk - Premier pas avec Sikuli (12)

P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2
 
Midi technique - présentation d'ionic
Midi technique - présentation d'ionicMidi technique - présentation d'ionic
Midi technique - présentation d'ionic
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Moby project - LinuxKit
Moby project -  LinuxKitMoby project -  LinuxKit
Moby project - LinuxKit
 
Comparatif des outils de prototypage
Comparatif des outils de prototypageComparatif des outils de prototypage
Comparatif des outils de prototypage
 
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
 
output
outputoutput
output
 
Toolbox du designer : Useberry
Toolbox du designer : UseberryToolbox du designer : Useberry
Toolbox du designer : Useberry
 
Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...
 

Light Talk - Premier pas avec Sikuli

Hinweis der Redaktion

  1. - 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
  2. - 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
  3. - 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
  4. - 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
  5. - 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
  6. - 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
  7. - 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
  8. - 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
  9. - 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
  10. - 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
  11. - 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
  12. - 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
  13. - 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
  14. - 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
  15. - 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
  16. - 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
  17. - 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
  18. - 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
  19. Les autres outils sont dans le meme esprit que nagios NNM
  20. Les autres outils sont dans le meme esprit que nagios NNM
  21. Les autres outils sont dans le meme esprit que nagios NNM