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 :

ux5.jpg

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:

ux18.jpg

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 :

ux19.jpg

Actions de contrôle des flux:

ux20.jpg

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” :

ux21.jpg

ux22.jpg

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 :

ux23.jpg

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.

ux24.jpg

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 :

ux40.jpg

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 :

ux43.jpg

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 :

ux41.jpg

Et dans le viseur des transactions, vous pouvez voir le détail des étapes et la graphique avec les temps :

ux42.jpg

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.

ux26.jpg

ux27.jpg

ux28.jpg

ux29.jpg

ux30.jpg

ux31.jpg

ux32.jpg

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.

Retour à l'index de la documentation de Pandora FMS