UI Automation : le framework

J’ai finalement fait beaucoup plus vite que je ne pensais pour créer une première version de ce que je voudrais voir devenir une grammaire XML spécialisée dans le test des interfaces graphiques, et un moteur d’exécution de ces tests basé sur UI Automation Framework.

Miboboio m’a donné la solution pour gérer du texte, j’ai trouvé comment régler le problème des fenêtres principales qui changent (typiquement quand on a une fenêtre de login qui s’efface pour laisser la place à une fenêtre principale), et le reste était relativement simple.

Bon, ce n’est vraiment qu’un prototype pour l’instant, mais j’ai quand même créé un projet sur CodePlex. Vous pouvez aller voir sur http://www.codeplex.com/uiautotestxml pour plus de détails, et tester la release 0.1. J’ai mis deux exemples de scenario XML de test. Un qui pilote la calculatrice :

<?xml version="1.0" encoding="utf-8" ?>
<scenario>
 <application path="calc.exe">
  <launchWaitTimeout>2000</launchWaitTimeout>
 </application>
 <actions>
  <setText target="403" value="123"/>
  <buttonClick target="92" waitForAction="100"/>
  <setText target="403" value="456"/>
  <buttonClick target="112" waitForAction="100"/>
  <checkText target="403" value="579, " errMsg="Mauvais calcul"/>
 </actions>
</scenario>

Un autre qui pilote une application de test que j’ai montée pour l’occasion, afin de tester la prise en compte du changement de fenêtre active :

<?xml version="1.0" encoding="utf-8" ?>
<scenario>
 <application path="UIAutoTest.TestTargetApp.exe">
  <launchWaitTimeout>2000</launchWaitTimeout>
 </application>
 <actions>
  <clearText target="txtPassword"/>
  <setText target="txtPassword" value="coucou"/>
    <linkClick target="linkLabel1" waitForAction="100"/>
  <formSwitch/>
  <checkLabel target="lblLogUser" value="User72" errMsg="Problem with the login"/>
 </actions>
</scenario>

A priori, la grammaire doit parler d’elle-même, et sinon rendez-vous sur le site pour plus de détails. Merci par avance de vos commentaires et remarques sur ce qu’il manque pour que ça puisse servir.

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in .NET and tagged . Bookmark the permalink.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload