Date de mise à jour : 15 janvier 2011

Test AudeLA

 

Télécharger les images de test

Télécharger les images en cliquant sur le lien ci-dessous,
puis les dézipper dans un répertoire quelconque,
puis indiquer le répertoire dans la fenêtre de l'outil de test.

Images de test  : 
http://www.audela.org/download/test-audela-image.zip


Remarque: Les images de test ne sont pas founies avec AudeLA à cause de leur volume important.





Présentation

Cet outil sert à lancer des tests automatiques de Audela.
Pour lancer l'exécution de Test Audela, utiliser le menu Configuration->Test Audela

testaudela


Le liste des fichiers de test est affichée dans la zone intitulée "Fichiers de test"

Un clic avec le bouton gauche de la souris sur le nom d'un. fichier de test permet d'afficher la liste des tests contenus dans le fichier dans la zone intitulée "Contenu du fichier sélectionné"

Un double clic avec le bouton gauche de la souris sur le nom d'un fichier de test permet d'inclure ou d'exclure un test de la campagne de test

Un clic avec le bouton droit de la souris sur le nom d'un fichier de test permet d'afficher le code source du test dans l'éditeur de fichier d'Audela (Configurer auparavant l'éditeur avec le menu Configuration > Logiciels externes).

Le bouton Actualiser permet d'actualiser la liste des fichiers de tests après que l'on ait ajouté ou supprimé un fichier de test, sans avoir à relancer Audela. 

Le bouton Tous permet d'inclure tous les tests dans la campagne de test.

Le bouton Aucun permet d'exclure tous les tests de la campagne de test.

Lancer une campagne de test

Ouvrir la fenetre "Test Audela" avec le menu  Configuration->Test Audela

1) sélectionner les fichiers de test de la campagne
Seuls les tests avec une icône VERTE seront exécutés

3) sélectionner les contraintes

Les contraintes permettent de ne lancer que les tests pour lesquels les périphériques ou des logiciels requis sont présents. Les contraintes de chaque test sont précisées dans le code source de chaque test..

Seuls les tests associés aux contraintes cochées sont exécutés
Exemples :

Cocher la contrainte AUDACE pour exécuter les tests qui utilisent l'IHM Audace

Cocher la contrainte AUDINE pour exécuter les tests qui utilisent la camera AUDINE.

4) lancer la campagne de test

Cliquer sur le bouton "Exécuter les tests" pour lancer la campagne de tests. Le résultat est stocké dans le fichier testresult.log dans le répertoire audace(rep_log)/testresult.log

Remarque : certains tests qui ne sont pas complètement automatisés peuvent demander une action utilisateur. Par exemple, les tests du menu prétraitement nécessitent de cliquer sur le bouton "OK" pour continuer.

A la fin de la campagne de test, les résultats est affichés dans une nouvelle fenêtre :

testaudela log

Elle contient le résultat de chaque test avec le message d'erreur retourné par le script de test en cas d'échec, ainsi qu'un récapitulatif avec :

 

Lancer une campagne depuis la console

Pour lancer la campagne de test depuis la console d'Audela , il faut saisir la commande ::testaudela::runTests 

Cette commande retourne une des valeurs suivantes :

Pour lancer la campagne de test depuis un fenêtre terminal Windows ou linux, il faut se placer dans le répertoire de binaires d'Audela et saisir la commande :
audela "<répertoire audela>/gui/audace/plugin/tool/testaudela/testaudela.tcl" "::testaudela::runTests"

Le résultatest dans le fichier testresult.log placé dans le répertoire de travail d'Audela.


Création d'un nouveau fichier de test

Un fichier de test est un script TCL enregistré dans le répertoire audela\gui\audace\plugin\tool\testaudela\tests .

Exemple de script de test :
audela\gui\audace\plugin\tool\testaudela\tests\chart_carteducielv3.tcl

Chaque test est codé dans un bloc TCL commençant par "test" et qui la structure suivante :
 test test_nom {test_description} {test_contraintes} {
test_script
...
return $resultat
} test_resultat

Définitions :


Exemple :

test webcam_RGB_create {creation de la camera RGB } { WEBCAM_RGB } {
set camNo [cam::create webcam USB -channel 0) \
-lpport "" -name WEBCAM -ccd "ICX098BQ-A" ]
set bufNo [cam$camNo buf]
return $camNo
} "1"

Ce test "webcam_RGB_create" ne sera exécuté dans un campagne de test que si la contrainte WEBCAM_RGB est cochée.

Le résultat de ce test est "Passed" s'il retourne "1", "Failed" s'il retourne autre chose que "1", "Skipped" si la contrainte WEBCAM_RGB n'est pas cochée.

Remarques :

Pour rafraichir l'affichage de la liste des fichiers de test après modification de ces paramètres, cliquer sur le bouton "Actualiser".

Un fichier peut contenir plusieurs blocs . Les blocs doivent avoir des noms différents. Pour plus de détail sur la commande "test" du TCL voir : http://www.tcl.tk/man/tcl8.4/TclCmd/tcltest.htm

Les images de référence utilisées par les tests sont dans le répertoire audela\gui\audace\plugin\tool\testaudela\images .
Il e

Modification d'un fichier de test

Cliquer avec le bouton droit de la souris sur le nom d'un fichier de test pour afficher le code source du test dans l'éditeur de fichier d'Audela.

Modifier le code source du test et enregistrer les modifications avec la commande Enregistrer de l'éditeur de texte.

Relancer la campagne de test pour vérifier le fonctionnement du Test . Il n 'est pas nécessaire de relancer Audela pour prendre en compte la modification du test car le fichier est ré-interprété à la volée quand lance la campagne de test.


Convention de nommage des fichiers de tests

Procédure utilitaires pour les widgets

Le fichier testaudela.tcl contient des procédures qui facilitent les tests des fenêtres en particulier pour simuler les actions d'un utilisateur sur les widgets TK .

Exemple :

global caption
set visuNo 1
test affichage_reticule_actif { affiche le reticule } {AUDACE} {
#--- je clique sur le menu reticule
::testaudela::clicMenu $visuNo "$caption(audace,menu,affichage)" "[::Crosshair::getLabel]..."

#--- je clique sur le checkbutton pour afficher le réticule
::testaudela::clicCheckButton [confVisu::getBase $visuNo].confCrossHair.frame1.frameState.currentstate

#--- je ferme la fenetre la fenetre de parametrage du reticule
::testaudela::clicButton [confVisu::getBase $visuNo].confCrossHair.but_ok

#--- je verifie que le reticule est affiché
set result "[::confVisu::getCrosshair $visuNo]"
append result " [[::confVisu::getCanvas 1] gettags lineh]"
append result " [[::confVisu::getCanvas 1] gettags linev]"
return $result
} "1 lineh linev"

 

Liste des procédures utilitaires pour les widgets

::testaudela::clicButton { buttonPath }

simule un clic sur un bouton

# parametres :
# buttonPath : chemin complet du bouton


# exemple:
# ::testaudela::clicButton .audace.traiteImage.cmd.ok

::testaudela::clicCheckButton { buttonPath { state "" } }

simule un clic sur un checkbutton ou force le check a une valeur

# parametres :
# buttonPath : chemin complet du bouton
# state : etat de la case a coche "1" , "0" , ou basculement si ce parametre est absent
exemples:
::testaudela::clicCheckButton .audace.acqFC.mode.une.index.case
>>> bascule le checkbutton

::testaudela::clicCheckButton .audace.acqFC.mode.une.index.case "1"
>>> coche le checkbutton

::testaudela::clicCheckButton .audace.acqFC.mode.une.index.case "0"
>>> decoche le checkbutton

::testaudela::clicCombobox {comboPath index}

simule un clic sur une combobox

# parametres :
# comboPath : chemin complet du bouton de la combobox
# index : index de l'item selectionne
# Le premier item est a l'index 0
# Valeurs prédefinies : first last next previous

# exemples :
# ::testaudela::clicCheckButton .audace.acqFC.mode 0
# ::testaudela::clicCheckButton .audace.acqFC.mode first
# ::testaudela::clicCheckButton .audace.acqFC.mode last


::testaudela::clicMenu { visuNo menuName menuLabel }

simule un clic sur un menu

   # parametres : 
# visuNo : numero de la visu
# menuName : nom du menu principal
# menuLabel : libelle de l'item du menu principal


# exemple :
# ::testaudela::clicMenu 1 "Affichage" "palette grise"

::testaudela::clicMenuButton { buttonPath value}

simule un clic sur un checkbutton

# parametres : 
# buttonPath : chemin complet du bouton de la combobox
# value : valeur de l'item a selectionner


# Exemple :
# ::testaudela::clicMenuButton .audace.acqFC.mode.une.nom.extension ".jpg"


::testaudela::clicRadioButton { buttonPath }

simule un clic sur un radiobutton

# parametres :
# buttonPath : chemin complet du bouton

::testaudela::mouveMouse { visuNo x_canvas y_canvas }

simule le deplacement du curseur de la souris vers un point x,y du canvas (x,y sont en coordonnees canvas)

# parametres : 
# visuNo : numero de la visu
# x_canvas y_canvas : coordonnees du curseur de la souris
# exemple : # ::testaudela::mouveMouse 1 20 20

::testaudela::putEntry { entryPath value }

simule la saisie dans un ENTRY

# parametres : 
# entryPath : chemin complet du widget entry
# value : valeur saisie


# Exemple :
# ::testaudela::putEntry .audace.acqFC.mode.une.nom.entr "m57"

::testaudela::setBox { visuNo coords }

simule le tracé d'une boite avec la souris dans la visu

Exemple: ::testaudela::setBox 1 { 10 10 40 40 }

@param visuNo numero de la visu
@param coords liste des coordonnees de la boite { x1 y1 x2 y2 } avec
- x1,y1 coordonnees du coin en bas à gauche
- x2,y2 coordonnees du coin en haut à droite
@return 0 si OK , -1 si les coordonnees ne contiennent pas dans l'image