Testez votre IHM avec FlexMonkey

le 20/05/2009 par Arnaud Huon
Tags: Software Engineering

FlexMonkey est un outil libre de test d'IHM en Flex et pour Flex. Malgré sa relative jeunesse, le dynamisme du projet dans ses mises à jours prouve qu'il est intéressant de s'attarder quelques temps sur ce produit. C'est dans cette perspective que nous vous proposons une démonstration de son potentiel...

Ce que l'on peut retenir de cette démonstration, pour FlexMonkey dans sa version 8.0a :

  • Comment utiliser le recorder de FlexMonkey :

    • Mettre le fichier swf dans le même répertoire que le recorder et ouvrir ce dernier dans un navigateur
    • Une fois le recorder ouvert et chargé, invoquer l'application a testé en chargeant son .swf avec le formulaire à l'écran
    • Cliquer sur record et effectuer sur l'application les actions à enregistrer.
    • Recliquer sur l'interface du recorder pour arrêter l'enregistrement.
  • Comment utiliser le code de test généré par le recorder et quelles sont ses limitations :

    • Créer un projet de test et y inclure, dans une classe actionScript,  le code FlexUnit généré par le recorder.
    • Y insérer une ou plusieurs assertions.
    • Compiler le projet puis le charger dans le recorder, après l'application à tester.
    • Lancer les tests et vérifier que les assertions sont validées ou pas.
    • Noter que le code généré par le recorder pour la manipulation des calendriers est défectueux(correction du code généré dans les sources associées à cette article)
  • Comment intégrer FlexMonkey dans un processus d'intégration continue avec Maven 2:

    • Mettre en place Maven pour construire l'application et le projet de test associé
    • Insérer dans le processus de build des taches Ant permettant de gérer la manipulation de fichiers ainsi que le lancement automatique de FlexMonkey
    • Modifier légèrement le code du projet de test.

Vous trouverez les sources associées à cette démonstration à cette adresse : http://dl.getdropbox.com/u/497523/FlexMonkeyPOC.zip.

Vous trouverez les sources originelles de FlexMonkey a cette adresse : http://code.google.com/p/flexmonkey/

A noter, que dans le cadre d'un processus d'intégration continue, il peut être intéressant d'avoir un moyen de fermer automatiquement le navigateur ou ses onglets, afin d'éviter une explosion de la mémoire utilisée. Dans cette perspective, Firefox, avec l'aide d'un plug in comme Tab Limiter (disponible à cette adresse: https://addons.mozilla.org/fr/firefox/addon/9129) peut s'avérer une très bonne option comme choix de navigateur pour le serveur chargé de faire de l'intégration continue.