Cucumber + Watir + Webdriver = Tiercé gagnant de l’EUE ?
Ça fait un bon moment que je tourne (un peu en rond par moment dans la pile logicielle nécessaire à la supervision de bout en bout aka End User Experience et c’est tout récemment que j’ai identifié la chaîne logicielle à mettre en œuvre pour une telle supervision depuis nos ordonnanceurs favoris; au moins les « Nagios Like Compatible » (Icinga, Centreon Engine, Shinken…). Comme j’en ai fait quelques démonstrations au Salon Linux qui vient de se dérouler, il est temps de partager avec vous ces quelques informations afin de vous éviter l’ensemble des recherches que j’ai dû faire pour en arriver là.
Nous allons parcourir les différents éléments logiciels constituant une des piles possibles pour effectuer de la supervision dite de bout en bout. Commençons par le haut pour finir en bas. Mon installation comprend, outre un serveur Nagios like, une machine Ubuntu Desktop qui sert à exécuter les tests à proprement parler depuis un navigateur puisque Watir fonctionne en mode « full browser ». Le navigateur choisi est Firefox 3.6 mais IE et Safari sont aussi au menu.
Cucumber et Cucumber-nagios
Afin de raccorder le tout à notre ordonnanceur favori, il convient d’avoir un plugin qui est dans le cas de notre pile cucumber-nagios. C’est lui qui va transformer la sortie de cucumber pour qu’elle soit compatible Nagios; vous savez ce genre de chose
CUCUMBER OK - Critical: 0, Warning: 0, 2 okay | passed=2; failed=0; nosteps=0; total=2; time=0
Venons-en à un des deux morceaux de choix de cette pile. Je vous avais déjà parlé de cucumber mais je n’avais à l’époque fait qu’effleurer la surface de ce merveilleux logiciel. Depuis, j’ai compris (j’ai mis le temps que celui-ci n’est qu’une couche d’abstraction au pilote qui va réellement effectuer les tests (dans le cadre de cet article Watir) et qui permet de faire rédiger les scénarios par des personnes dites fonctionnelles et pas forcément versées dans la technique. On revient ici à la notion de description des tests par le comportement attendu. C’est donc une pièce majeure qui permet de brancher un scénario identique sur n’importe quelle techno de tests de bout en bout.
Watir et Webdriver
Watir est quant à lui la partie qui permet de définir quelles sont les actions à faire exécuter par le navigateur. Après des premiers tests avec Firewatir, j’ai abandonné ce dernier au profit de Webdriver qui outre le fait qu’il est pérenne, contrairement à Firewatir qui va être abandonnée; est également utilisé par la version 2 de Selenium, la suite la plus connue à ce jour de test dans un navigateur. Je préfère néanmoins personnellement la syntaxe limpide de Watir mais tout est question de goût. Le point important est que dans les deux cas, Watir ou Selenium, un seul pilote, Webdriver est utilisé.
Webdriver pourrait être défini comme le pilote au sens driver du terme de la pile et l’élément le plus bas de la couche. Il gère à ce jour la majorité des différents moteurs de navigateur du marché.
Au niveau de l’ordonnanceur
Sur notre ordonnanceur, rien à installer puisque c’est par un check_nrpe que va être appelé le script à exécuter sur la machine robot (Ubuntu Desktop dans mon cas).
Conclusion
La pile logicielle présentée ici n’en est qu’une parmi beaucoup d’autres. Elle présente néanmoins l’avantage de facilement s’installer sur le robot à coup de « gem install » puisque tout est en ruby et de partager une librairie commune (webdriver) avec le leader en logiciel libre sur le marché des tests dans le navigateur. De plus, rien n’est à installer sur son ordonnanceur; à condition de dédier une machine robot pour les test, ce qui paraît obligatoire (à moins que vous ayez un serveur Nagios like avec une interface Gnome ou KDE . Une page dans le wiki devrait suivre prochainement pour illustrer par l’exemple cet article ainsi qu’un article présentant le panorama complet des solutions existantes en libre pour faire de la supervision et du test de bout en bout. À suivre donc…
RSur le même sujet:
- Watir : du sang neuf dans les tests de sites web S’il existe un domaine assez mal couvert par nos solutions de supervision libre, c’est bien celui de la mesure de la qualité d’expérience et de la performance. Dis comme ça, cela ne vous évoque pas grand chose mais si je vous parle scénario, script dans...
- Cucumber-nagios : Web testing 2.0 ? Imaginez que vous puissiez superviser toutes vos applications web en décrivant en langage naturel les actions utilisateur à entreprendre pour valider le bon fonctionnement de celle-ci ! Et bien, c’est désormais possible avec ce nouveau plugin au doux nom de cucumber-nagios ! Même si le...
- La supervision pilotée par le comportement J’ai découvert avec cucumber-nagios bien plus qu’un simple plugin supplémentaire pour Nagios. Celui-ci prétend en effet nous amener vers le nirvana de ce que les anglophones appellent « Behaviour Driven Infrastructure » que nous pouvons traduire approximativement par Infrastructure piloté par le comportement. Que cache ce terme,...
- MoZBX : Une appli mobile pour Zabbix ! Pour tous les possesseurs de mobiles (smartphones) ou de PDAs, voici une application qui va en intéresser plus d’un : MoZBX. Il s’agit d’une application cliente, gratuite permettant de visualiser de nombreuses informations provenant de votre système Zabbix. Ainsi, depuis votre navigateur internet mobile, il...
- Changement d’adresse pour « business process addon » Business process addon permet d’agréger des points de contrôle techniques sous forme d’une vue par application. Une application étant constituée d’un ensemble de briques techniques (serveurs, services ….), business process addon vous permet non seulement de bénéficier d’une vue dédiée à l’état global d’une application,...