[R] AutoIt et RobotFramework

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Nekhrom
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 24 mars 2015 10:02
Status : Hors ligne

[R] AutoIt et RobotFramework

#1

Message par Nekhrom »

Bonjour,

Je ne cherche pas une réponse toute faite, mais un tuto ou autre explication me permettant de mettre ma solution en place

Contexte :
J'utilise l'outil Robot Framework me permettant de créer des tests automatiques afin de tester des IHMs web.
Dans un de mes tests, je dois importer un fichier pour cela j'utilise la librairie AutoIt pour l'outil.

Cela va vous sembler surement basique, mais je dois avouer que je m'y perds avec cette librairie :(

Point où je bloque :
- sur l'IHM web, je clique sur un bouton "importer" qui m'ouvre une fenêtre windows.
- Dans cette fenêtre je dois :
--> sélectionner le chemin de mon répertoire
--> une fois dans le bon répertoire :
--> sélectionner un fichier
--> je clique sur ouvrir


Si vous pouvez m'aiguiller sur un tuto qui peut m'expliquer ce fonctionnement sur AutoIt, cela me permettra de l'adapter à la librairie AutoIt pour RobotFramework
Modifié en dernier par Nekhrom le mar. 24 mars 2015 13:17, modifié 1 fois.
Nekhrom
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 24 mars 2015 10:02
Status : Hors ligne

Re: [..] AutoIt et RobotFramework

#2

Message par Nekhrom »

Bon j'avance un peu ^^, je me permet de m'auto répondre cela me permet de garder une trace et cela vosu permet de mieux rebondir sur mes solutions/problèmes ^^

Alors en lisant doc et divers tutos :
- la fonction winWaitActive() me permettra de vérifier si la fenêtre d'import c'est bien ouverte
- la fonction Send() me permettra de renseigner le chemin de mon répertoire

Questions :
- comment je fais pour sélectionner le champ afin d'y renseigner le chemin de mon répertoire ?
- Une fois dans le répertoire, comment je sélectionne le fichier que je désire importer ?
- une fois que j'ai sélectionné mon fichier, comment fait-on pour cliquer sur le bouton "ouvrir" ?
==> la fonction send() avec la touche entrer : send({ENTER}) => ok si ouvrir sélectionner par défaut
==> send({TAB}) autant de fois que nécessaire pour arriver sur le bouton "ouvrir" si non sélectionner par défaut
Nekhrom
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 24 mars 2015 10:02
Status : Hors ligne

Re: [..] AutoIt et RobotFramework

#3

Message par Nekhrom »

Bon j'ai trouvé une solution, elle n'est pas des plus jolies mais elle fonctionne

click element broadcast_personalLibraryModalPanelForm:broadcast_down:file ==> click sur le bouton importer de mon IHM
Win Wait Active Envoi du fichier ==> j'attends que la fenêtre "Envoi du fichier" soit active
send Piste 7s - 56ko.wav ==> je renseigne le nom de mon fichier
send {TAB} ==> j'appuie sur TAB jusqu'a atteindre le champs me permettant de sélectionner mon répertoire
send {TAB}
send {TAB}
send {TAB}
send {ENTER} ==> j'active le champ de saisie du répertoire
send E:\\mcvr2362\\Guide Vocal\\fichier son ==> je renseigne le nom de mon répertoire
send {ENTER} ==> je valide la saisie
sleep 2s ==> j'attends 2s, cela permet d'attendre l'affichage du contenu du répertoire
send !v ==> j'utilise le raccourcie du bouton ouvrir "ALT+v"

Inconvénient :
- le champs permettant de renseigner le nom devra toujours être sélectionné par défaut
- pour atteindre le champs permettant de renseigner le répertoire, il ne faut pas qu'il y ait plus de 4 fois la touche TAB, et pas moins de 4 fois la touche TAB
- le raccourcie du bouton ouvrir devra toujours être ALT+v

Je vais continuer mes recherches pour essayer de trouver une solution me permettant de ne plus avoir c'est inconvénient, si vous avez des idées ....
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2125
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] AutoIt et RobotFramework

#4

Message par TommyDDR »

Renseignez vous sur l'utilisation de ControlSend (au lieu de Send) et ControlClick
(utilisez AutoIt Windows Info disponible dans "C:\Program Files (x86)\AutoIt3")
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Nekhrom
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mar. 24 mars 2015 10:02
Status : Hors ligne

[R] AutoIt et RobotFramework

#5

Message par Nekhrom »

TommyDDR a écrit :Renseignez vous sur l'utilisation de ControlSend (au lieu de Send) et ControlClick
(utilisez AutoIt Windows Info disponible dans "C:\Program Files (x86)\AutoIt3")
Merci TommyDDR :)

au final mon code ressemble à :
Win Wait Active Envoi du fichier
Control Send Envoi du fichier \ [CLASS:Edit; INSTANCE:1] ${repertoire}\\${fichier}
sleep 2s
Control Click Envoi du fichier \ [CLASS:Button; INSTANCE:1]
Répondre