19
Lightning Talks: Monkey & Monkey Runner Elaboré par: Khallouli Emna Date :10/04/2 014

Monkey & Monkey Runner

Embed Size (px)

DESCRIPTION

Présentation élaborée par Mlle. Emna Khallouli dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.

Citation preview

Page 1: Monkey & Monkey Runner

Lightning Talks: Monkey & Monkey Runner

Elaboré par: Khallouli EmnaDate :10/04/2014

Page 2: Monkey & Monkey Runner

2 Orange diagrams library

Plan

Section1:Monkey

Section2:Monkey Runner

Section3: Conclusion

Page 3: Monkey & Monkey Runner

3

Monkey

Orange diagrams library

Page 4: Monkey & Monkey Runner

4 Orange diagrams library

1.Présentation

Consol

e

Android device connected via USB

Screenshots are saved to file

.apk file

testScript

Page 5: Monkey & Monkey Runner

5 Orange diagrams library

2.Les possibilités du Monkey et son paramétrage

La ligne de commande en question possède plusieurs options nous offrant différentes perspectives pour nos test :

le nombre d’évènements que le singe effectuera, et la spécification de leur type et de leur fréquence

si votre application fait appel à d’autres package, vous avez la possibilité de les bloquer

des options de débogage, qui permettent par exemple de ne pas stopper le Monkey lorsqu’il fait crasher votre application, chose qui s’effectue par défaut.

Page 6: Monkey & Monkey Runner

6 Orange diagrams library

3.Un peu de pratique

Page 7: Monkey & Monkey Runner

7

La ligne de commande de base se présente sous la forme suivante :

>adb shell monkey [options] <event-count>

>adb shell monkey -p com.orange.monkey -p com.google.android.apps.maps 200

Orange diagrams library

Page 8: Monkey & Monkey Runner

8

Les options d’évènement sont assez nombreuses et utiles :

déclarer un pourcentage sur tel ou tel type d’évènement (touch, trackball etc…) sur le nombre total d’évènements

refaire plusieurs fois la même séquence d’évènements avec l’option -s

définir un temps (en millisecondes) entre chaque évènement

>adb shell monkey -p com.orange.monkey  -s 1 --throttle 10 --pct-trackball 20 --pct-motion 50 200

Orange diagrams library

Page 9: Monkey & Monkey Runner

9 Orange diagrams library

isUserAMonkey?

if (!ActivityManager.isUserAMonkey()){ ProgressDialog.show(this, "Title", "DialogMessage", true, true);}

Page 10: Monkey & Monkey Runner

10

Monkey Runner

Orange diagrams library

Page 11: Monkey & Monkey Runner

11

1.C ’est quoi le Monkey Runner ?

• C’est un outil qui fournit une API pour écrire des programmes qui contrôlent un appareil Android ou un émulateur.

• Il s'agit d'un outil de test de python, utilisé pour exécuter des scripts Python pour tester des applications Android.

• Il utilise Jython, une implémentation de Python qui utilise le langage de programmation Java

Orange diagrams library

Page 12: Monkey & Monkey Runner

12

Pourquoi on utilise Monkey Runner?

• Il est principalement conçu pour tester les applications et les dispositifs au niveau fonctionnel et pour l'exécution

• Il peut être utilisé pour tester une application contre un clique au hasard sur l'application

Orange diagrams library

Page 13: Monkey & Monkey Runner

13

Vous pouvez écrire des programmes Python pour tester les applications sur un ou plusieurs dispositifs et / ou des émulateurs

Avec MonkeyRunner, vous pouvez :

•Installer une application

•Exécuter une application

•Prendre des captures d'écran de l'interface utilisateur

Orange diagrams library

Ce que vous pouvez faire avec MonkeyRunner??

Page 14: Monkey & Monkey Runner

14

Caractéristiques de MonkeyRunner

Contrôle des périphériques multiples

Tests fonctionnels

Test de régression

Automatisation Extensible

Orange diagrams library

Page 15: Monkey & Monkey Runner

15

Trois classes sont disponibles :

1. MonkeyRunner: pour interagir avec un téléphone ou un émulateur,

2. MonkeyDevice: pour se connecter, faire des pauses,

3. MonkeyImage: pour manipuler des images, les comparer.

Orange diagrams library

Page 16: Monkey & Monkey Runner

16

Les méthodes de Monkey Runner

Orange diagrams library

Méthode Déscriptionalert (string message, string title, string okTitle)

Affiche un message d'alerte au processus en cours d'exécution du programme en cours

choice(string message, iterable choices, string  title)

Affiche une boîte de dialogue avec une liste de choix pour le processus en cours d'exécution du programme en cours

help (string format)

Affiche la référence de l'API monkeyrunner dans un style similaire à celui de l'outil de pydoc de Python

Page 17: Monkey & Monkey Runner

17 Orange diagrams library

Méthode Déscriptioninput (string message, string initialValue, string title, string okTitle, string  cancelTitle)

Affiche une boîte de dialogue qui accepte la saisie

sleep (float seconds)

Suspend le programme actuel pour le nombre de secondes

waitForConnection float timeout, string deviceId)

Essaie de faire un lien entre le backend monkeyrunner et le périphérique ou l'émulateur spécifiée

Page 18: Monkey & Monkey Runner

18

Conclusion

Monkey et Monkey Runner permettent de tester la stabilité de vos applications du point de vue de l'interface utilisateur.

Orange diagrams library

Page 19: Monkey & Monkey Runner

Merci pour votre attention

Orange, the Orange mark and any other Orange product or service names referred to in this material are trade marks of Orange Brand Services Limited.

Orange restricted.