Date de mise à jour : 15 janvier 2011
Le liste des fichiers de test est affichée dans la zone
intitulée "Fichiers 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.
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 :
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 :
- le nombre total de tests trouvés dans les fichiers sélectionnés pour la campagne (Total)
- le nombre de tests réussis (Passed)
- le nombre de tests sautés à cause des contraintes non sélectionnées (Skipped)
- le nombre de tests ayant échoué (Failed)
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
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
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 .
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"
simule un clic sur un bouton
# parametres :
# buttonPath : chemin complet du bouton
# exemple:
# ::testaudela::clicButton .audace.traiteImage.cmd.ok
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
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
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"
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"
simule un clic sur un radiobutton
# parametres :
# buttonPath : chemin complet du bouton
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
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"
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