Contrôle de l'expérience utilisateur (PDR)
Expérience utilisateur bureau(PDR)
Déploiement du système PDR
Le système PDR fonctionne uniquement dans des systèmes Windows®, et une fois en exécution par l'Agent de Pandora FMS, celui-ci doit être exécuté en mode processus, car être exécuté en mode service ne fonctionnera pas. En outre, il ne sera pas possible de bloquer la session de bureau, donc il est recommandé de l'utiliser dans des machines virtuelles.
Exigences préalables :
- Système Windows® en mode bureau avec auto-démarrage et auto-connexion.
Pour y parvenir à cette configuration :
Pour des versions précédentes à Windows 10® :
control userpasswords2
Et décochez Users must enter a user name and password to use this computer :
Cliquez sur Ok et insérez le nom d'utilisateur et votre mot de passe.
Pour Windows 10® :
Une manière d'activer l'auto-démarrage sur MS Windows®, version 10, c'est d'utiliser Powertoys de Sysinternals (disponible dans la section de téléchargements de la documentation de Microsoft®) et activer l'utilisateur qui supervisera, par exemple :
Pour préparer l'environenment créez le répertoire suivant :
C:\PDR
Et décomprimez le fichier PDR.rar
(fournit depuis ce lien https://pandorafms.com/library/pdr-cmd-for-ux-monitoring/) dans ledite dossier.
Exécution de sessions PDR
Pour démarrer l'enregistreur, exécutez le script suivant:
C:\PDR\pdr
Après le chargement, entrez dans l'environnement d'enregistrement:
Sélectionnez les actions que vous souhaitez effectuer et faites une capture d'écran dans la zone où vous souhaitez les appliquer. Vous trouverez ci-dessous une liste des actions les plus courantes.
Actions générales :
Actions de contrôle des flux:
Plus de soutien linguistique: http://sikulix-2014.readthedocs.io/en/latest/index.html
Lorsque le projet est enregistré, un dossier contenant les éléments suivants est créé :
- Fichier .py avec le code du script d'automatisation.
- Images pour contrôler la navigation.
Un exemple simple d'exécution pourrait être le contrôle du bon fonctionnement de votre calculatrice Windows. Nous montrerons l'ensemble du processus à l'aide de captures d'écran.
1. Choisissez l'action “click” et la zone où vous souhaitez appliquer l'action. L'écran passe en mode “area selection” :
2. Saisissez l'action type et le texte “calc”. Entrez ensuite les actions pour attendre que la zone “calculatrice” apparaisse et cliquez dessus. Attendez ensuite que la fenêtre de la calculatrice apparaisse pour entrer les actions suivantes de cette manière :
3. Cliquez ensuite sur les boutons correspondants, en sélectionnant les zones comme dans les étapes précédentes.
4. Enfin, sauvegardez le processus et exécutez-le en utilisant la fonction du bouton Run.
Remarques importantes :
- En double-cliquant sur l'une des images de l'environnement d'enregistrement, vous pouvez ajuster les détails de la capture d'écran de contrôle, par exemple en sélectionnant le point exact sur lequel cliquer.
- Il est fortement recommandé de saisir des actions telles que wait après chaque clic pour s'assurer que l'exécution ne s'arrêtera pas en raison d'un retard du système d'exploitation.
- L'enregistreur recherchera la zone qui ressemble à la capture d'écran, il faut donc faire très attention au cas où quelque chose serait mis en évidence lorsque le bouton est en haut (par exemple, les boutons de la calculatrice deviennent orange lorsque la souris les survole).
Dans le dossier où vous avez sauvegardé l'enregistrement, vous trouverez les fichiers images et le fichier Python.
Note: Vous pouvez personnaliser la capture effectuée par le moteur d'enregistrement PDR en utilisant le code suivant:
## OPTIONAL ##capture file names import shutil file = "C:\probes\screenshot_prueba.sikuli.png" focusWindow = App.focusedWindow() regionImage = capture(focusWindow) shutil.move(regionImage, file)
Cela créera une image de la fenêtre active à la destination indiquée par le fichier, à partir de laquelle vous pourrez faire une capture d'écran quand vous le souhaiterez.
Vous pouvez personnaliser la capture d'écran à l'aide de coordonnées. Pour ce faire, spécifiez la syntaxe suivante :
capture(x, y, w, h)
Où : X : position horizontale du rectangle dans lequel la capture d'écran doit être effectuée :
X : position horizontale du rectangle pour la capture d'écran.
Y : position verticale du rectangle à capturer.
W : largeur de l'écran.
H : hauteur de l'écran.
Enregistrer une section transactionelle avec Pandora FMS UX PDR
Il n'est pas nécessaire d'enregistre une session spécifique ; tout simplement enregistrez les sessions dont vous avez besoin dans des scripts différents. Il sera Pandora FMS UX qui gère le retournement de résultats pour l'organiser en tant que transaction complèxe. Dans le point suivant, on verra comment faire l'appel de l'exécution pour qu'il fonctionne correctement.
Si vous allez faire d'enregistrements pour créer un processus transactionnel vous devez faire attention lorsque vous faites l'enregistrement les éléments que vous chrchez soient présents. Il est récommandé d'exécuter manuellement les enregistrements que vous voulez utiliser dans un seul processus transactionnel continu, pour vous assurez que les actions se passent selon vos attentes.
Dans l'exemple suivant, un processus d'enregistrement a été fait, qui constituera la deuxième étape du processus employé dans l'exemple précédent. Nous allons prendre lerésultat retourné par la calculatrice et le coller dans un bloc-notes. L'enregistrement présente l'apparence suivante :
Et nous avons inclu une autre séquence qui consistera à sauvegarder le fichier dans une location particulière, en remplaçant celui précédent. Celui grante une grande flexibilité, car il ouvre la posibilité de superviser parallèlement ces fichiers reflétant les informations dont vous avez besoin dans tout type de varieté de vérifications de grands applications de bureau. Cette troisième séquence compris les étapes suivantes :
Exécution de sessions PDR
Exécution standard
Pour lancer les sessions pré-enregistrées PDR, indiquez que le mode de travail es le chemin au fichier pdr.cmd
déployé dans le point correspondant, l'argument du fichier -r
, le fichier qui contient les directrices de la session (-script
), le répertoire où stocker les captures d'écran (-folder
) terminé en “ \ ”, celui qui est optionnel, où sauvegarder les captures dans le dossier où se trouve le pdr
. Le nombre de réessais consecutifs peut être ajouté en cas d'échec (paramètre optionnel).
Dans l'exécution suivante, la cpature d'écran est personnalisée pour collecter uniquement la fenêtre active :
pandora_ux_x64 -exe C:\PDR\pdr -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active -retries 3
Les modules suivants seront rétournés :
- UX_Time_nom_projet.
- UX_Status_nom_projet.
- UX_Control_Snapshot_nom_projet (seulement dans la première exécution).
S'il y a quelque étape avec erreur, le module suivant sera aussi créé :
- UX_Snapshot_nom_projet.
Et montrera une image de la fenêtre active (avec -ss_config active
) du moment de l'erreur.
Exemple de sortie avec exécution correcte :
<module> <name><![CDATA[UX_Status_calculadora.sikuli]]></name> <type>generic_proc</type> <data><![CDATA[1]]></data> <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuild ]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_calculadora.sikuli]]></name> <type>generic_data</type> <data><![CDATA[20.204]]></data> <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuilt ]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_calculadora.sikuli</module_parent> </module> <module> <name><![CDATA[UX_Control_Snapshot_calculadora.sikuli]]></name> <type>async_string</type> <data><![CDATA[data:image/png;base64, IBCAIAAAAOCnfhAAAAAXNSR…/4x79e/7757f8H2C00s1C73yMAAAAASUVORK5CYII=]]></data> <description><![CDATA[Control image rebuilt]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_calculadora.sikuli</module_parent> </module>
Exemple de sortie avec exécution échouée :
<module> <name><![CDATA[UX_Status_std.html]]></name> <type>generic_proc</type> <data><![CDATA[0]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_std.html]]></name> <type>generic_data</type> <data><![CDATA[15.463]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module> <module> <name><![CDATA[UX_Snapshot_std.html]]></name> <type>async_string</type> <data><![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data> <description><![CDATA[Image (last error)]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module>
Si tout a été correcte, vous pouvez ajouter la ligne d'exécution à l'agent Pandora FMS installé dans la machine Windows® en tant que plugin d'agent. La ligne à ajourter au fichier de configuration de l'agent aura une apparence similaire à celle-ci (dans une seule ligne) :
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.bat -args -r -script C:\PDR\calc.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
Comme vous pouvez le voir, dans cette exécution, vous avez plus d'options. Le paramètre -checkpoint
montre une capture du résultat final même s'il n'y a pas d'échec ; -post
exécutera les actions après la réproduction de la session. Dans ce cas, nous allons fermer le processus de calculatrice initié par l'enregistrement, pour éviter que le système finit par échouer à cause d'excès de fenêtres ouvertes ou processus similaires.
Bien que l'agent a la ligne d'exécution module_plugin lista, vous devez le lancer en mode processus, exécutant le suivant depuis la ligne de commande en tant qu'administrateur :
"%ProgramFiles%\pandora_agent\PandoraAgent.exe" --process
Lors du lancement vous pourrez voir comment les actions sont exécutées automatiquement selon l'enregistrement. Depuis ce moment, le processus d'agent ne doit pas se fermer et vous ne devez pas vous connecter à la machine par bureau distant, ou les exécutions pourraient être interrompues. La machine ne doit pas être manipulée, donc il est recommandé de l'utiliser dans des machines virtuelles.
Si vous avez déjà des vérifications d'automatisation, vous pouvez les inclure dans Pandora FMS avec l'exécution suivante.
pandora_ux.64 -exe <exe of the automation system> -args <system arguments> -script <test file path>
<exe of the automation system>
: exe (exécutable) du système d'automatisation.<system arguments>
: Arguments du système.<test file path>
: Chemin d'accès au fichier de test.
Exécution fondée sur transaction
Si vous avez de différents processus enregistrés avec PDR et vous avez vérifié qu'ils fonctionnent lorsque vous les réproduisez continuellement, faites l'exécution de la manière suivante :
C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active
Comme vous pouvez le voir, tout simplement indiquez le chemin du nouveau script dans le paramètre -script
séparé par une comme du script précédent et utilisez le paramètre -t
avec le nom de la transaction qui comprend les différentes étapes. Si vous avez un processus avec plus d'étapes, suivez la même logique, par exemple :
pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t proceso_transaccional -script C:\PDR\script1,C:\PDR\script2,C:\PDR\script3,C:\PDR\script4 -folder C:\PDR\ -ss_config active
La ligne à ajouter au fichier de configuration de l'agent, pour ce cas serait la suivante :
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
Grâce au paramètre -checkpoint
vous pouvez voir des captures du résultat finale de chaque étape dans la console Pandora FMS.
Les modules suivants seront retournés par étape :
- UX_Time_nom_projet.étape_ordre.
- UX_Status_nom_projet.étape_ordre.
S'il y a quelque étape avec erreur, le module suivant sera aussi créé :
- UX_Snapshot_nom_projet.étape_ordre.
Une image de la web sera aussi montrée au moment de l'erreur, au cas où il se produit.
Les modules de résumé globales seront aussi retournés indetifiés ave les noms suivants :
- UX_Global_Time_nom_projet.
- UX_Global_Status_nom_projet.
- UX_Global_Snapshot_nom_projet.
Lorsque l'agent s'exécute en mode processus et les modules sont récupérés par Pandora FMS vous le verrez dans la console. À nouveau, par le biais de la vue en mode hiérarchique vous pourrez montrer clairement la relation entre les modules montrés, limitant clairement les différentes étapes :
Et dans le viseur des transactions, vous pouvez voir le détail des étapes et la graphique avec les temps :
Les captures d'erreur seulement seront montrées lorsque le client UX (PWR) et le serveur PWR s'exécutent dans la même machine. Au cas contraire, le répertoire de livraison des images par le serveur PWR doit être accessible par le client afin de pouvoir montrer l'image Pandora FMS.
Il sera sur ces modules sur lesquels vous pourrez créer des alertes et regarder l'historique pour construire des graphiques et montrer l'évolution dans le temps des systèmes à superviser.
Il est recommandé de créer une tâche programmée qui démarre l'agent Pandora FMS en mode processus lorsque l'équipement démarre et ainsi les exécutions ne seront pas interrompues bien que le système aie un redémarrage forcé. Puisqu'il est en mode connexion automatique sans mot de passe, l'agent s'exécutera toujours bien que la machine est redémarrée.
De cette manière nous garantisons que dans ce système Windows l'agent Pandora FMS s'exécutera en mod eprocessus même si la mchine se redémarre, en envoyant les informations collectées par la sonde PDR.
Systèmes avec quelques bureaux peuvent devenir problématiques, donc il est toujours récommandñee d'utiliser la configuration décrite précédement, dans une machine en mode bureau avec autodémarrage et un seul bureau.