Supervision d'expérience utilisateur UX et WUX

Introduction

Le contrôle de l'expérience utilisateur consiste à enregistrer des tâches automatisées de navigation sur le web (PWR/WUX) et d'interaction avec le bureau et les applications du système Windows (PDR). Ces enregistrements peuvent aller d'un clic de souris sur un navigateur web à l'ouverture d'une application sur le bureau, en passant par la saisie d'un texte ou la réalisation d'une recherche sur le web. Cela permet de configurer des fonctions et de les enregistrer automatiquement en vue d'une exécution ultérieure à la recherche de résultats.

Différences entre supervision UX et WUX

Ces deux systèmes de surveillance servent à l’exécution de tâches automatisées de navigation web grâce au système Pandora Web Robot Daemon (PWRD).

Le système UX réalise des surveillances grâce à l’agent software installé sur une machine, tandis que la supervision WUX se base sur un serveur intégré dans Pandora FMS.

Pandora Web Robot Daemon (PWRD) est un service qui prévoit les outils nécessaires pour automatiser les sessions de navigations web. Pour cela, il utilise une archive qui contient une liste des actions nécessaires pour naviguer sur le portail web de l’utilisateur.

Par ailleurs, la surveillance UX permet l’exécution de tâches automatisées qui interagissent avec le bureau et les applications du système Windows®. Ce type de tâches ne peuvent être réalisées avec WUX.

Pandora FMS UX est un système qui exécute des tâches automatisées, remettant à Pandora FMS un rapport avec les résultats de l’exécution, le temps requis et des captures avec les éventuelles erreurs rencontrées.

Si vous disposez d’un système d’automatisation de tâches, Pandora FMS UX permet aussi d’exécuter les scripts que vous avez déjà et d’en surveiller leur exécution.

Il est important de préciser l’usage de ce type de surveillance. Ces deux méthodes se basent sur l’exécution de la supervision grâce aux plugins dans les agents software installés dans les machines correspondantes.

Pour l'exécution des transactions web Pandora FMS utilise Selenium Engine.

  • Selenium version 2.
  • Selenium version 3.

Surveillance PWR UX

Compte tenu des différences entre la surveillance UX et la surveillance WUX, de manière générale, la surveillance UX doit respecter une série de conditions préalables liées à l'environnement à surveiller, avec les étapes préliminaires suivantes :

  • Installer Java®.
  • Créez un profil dans Mozilla Firefox®.
  • Installation d'un service Selenium®.
  • Répartir les PWR dans le système.
  • Installez l'IDE de Selenium® pour Mozilla Firefox®.
  • Enregistrement d'une session PWR.

Pour l'exécution standard de sessions préenregistrées, utilisez la fonction Plugin Pandora UX dans sa dernière version 28-04-2022.

Expérience utilisateur Web (WUX) avec Selenium 3

Pour le déploiement de Selenium dans les serveurs WUX on utilisera un stack de conteneurs pour un déploiement rapide et facile à étendre.

Configurations préalables

Docker et Docker Compose doivent être installés.

Pour installer Docker, suivez la documentation selon votre système d'exploitation dans

Pour Selenium, utilisez les images officielles pour l'installation et déploiement du stack dans:

Le répertoire de Selenium met à votre disposition de différentes images avec navigateurs. Pour Pandora FMS, nous vous recommandons les conteneurs Mozilla Firefox® et Google Chrome®.

Déploiement du stack Selenium

Afin de déployer le stack Selenium, créez un fichier en format YAML avec les configurations nécessaires :

# To execute this docker-compose yml file use `docker-compose -f  up`
# Add the `-d` flag at the end for detached execution
version: "3"
services:
  selenium-hub:
    image: pandorafms/pandorafms-selenium-hub
    mem_limit: 2G
    container_name: selenium-hub-v3
    logging:
        driver: "json-file"
        options:
            max-file: "5"
            max-size: "4m"
            mode: "non-blocking"
    environment:
      - TZ=Europe/Amsterdam
    ports:
      - "4444:4444"

  chrome:
    image: pandorafms/pandorafms-selenium-node-chrome
    mem_limit: 2G
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    logging:
        driver: "json-file"
        options:
            max-file: "5"
            max-size: "4m"
            mode: "non-blocking"
    environment:
      - TZ=Europe/Amsterdam
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444

  firefox:
    image: pandorafms/pandorafms-selenium-node-firefox
    mem_limit: 2G
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    logging:
        driver: "json-file"
        options:
            max-file: "5"
            max-size: "4m"
            mode: "non-blocking"
    environment:
      - TZ=Europe/Amsterdam
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444

Dans l'exemple ci-dessus, vous devez apporter les modifications nécessaires pour chaque cas, comme la limite de mémoire, le fuseau horaire, le nombre de nœuds, etc.

Vous pouvez garder le fichier avec le nom docker-compose.yml pour rendre son identification plus facile.

Pour activer le conteneur de la configuration que vous avez défini, il faut juste d'exécuter (remplacer <compose-file> par le nom que vous avez choisi pour le fichier) :

docker-compose -f <compose-file> up -d

Pour vérifier les services en exécution dans le conteneur, utilisez :

docker-compose -f <compose-file> ps

Pour afficher l'état et les journaux des services Selenium, utilisez la commande suivante :

docker-compose -f <compose-file> logs

Une fois les vérifications pertinentes sont faites, pour vérifier que le grid fonctionne correctement et que les workers ont été enregistrés comme nous avons défini dans le fichier de configuration, accédez à l'URL suivante :

http://<ip_selenium_server>:4444/grid/console

Si vous avez besoin d'augmenter le nombre de workers :

docker-compose -f <compose-file> scale chrome=X firefox=Y

Infrastructure du service Selenium

Selenium fonctionne en tant que HUB dans lequel un conteneur est activé, qui fonctionne en tant que grille où déployer les conteneurs worker dont vous avez besoin.

Configuration de Pandora FMS

Pour l'utilisation du mode centralisé (WUX) il est necéssaire d'appliquer la configuration suivante au serveur Pandora FMS.

Quel que soit le mode choisi, une fois intitié vous pouvez attribuer des exécutions aux sessions de navigation, en ajoutant les paramètres de configuration WUX server au fichier de configuration du serveur Pandora FMS.

Ajoutez la configuration suivante à la fin du ficihier /etc/pandora/pandora_server.conf (rémplasez ip_wux_host> par l'adresse IP du serveur, si c'est le même serveur qui exécute lServeur PAndora FMS, utilisez 127.0.0.1) :

 wuxserver 1
 wux_host <ip_wux_host>
 wux_port 4444

Le fichier de configuration du serveur a un nouvel jeton pour éliminer les sessions qui peuvent être en file d'attente chaque fois que le serveur Pandora FMS est initié.

clean_wux_sessions 1 #(default)

Gestion des fils du Pandora FMS

  • La gestion des threads de wuxserver se fait automatiquement lors du démarrage du service pandora_server.
  • Elle est effectuée en tenant compte du nombre de nœuds d'un navigateur MINOR dans le hub Selenium. Par exemple :
    • Si 2 nœuds Firefox et 2 nœuds Chrome sont configurés dans le hub, le nombre de threads wuxserver sera 2.
    • Si 1 nœud Firefox et 4 nœuds Chrome sont configurés dans le hub, le nombre de threads sera 1.
    • Si 6 nœuds Firefox sont configurés dans le hub, le nombre de threads sera 6.

Notez que chaque thread indique les sessions qui peuvent être envoyées simultanément du wuxserver au hub Selenium.

Annexe : Ajouter des workers pour Internet Explorer et Microsoft Edge

S'il est nécessaire de lancer des transactions web contre des navigateurs Microsoft®, il ess nécessaire de configurer une machine (qu'elle soit physique ou virtuelle) avec la version de Windows® souhaitée et configurer le contrôleur ou driver en suivant la documentation officielle.

Documentation pour l'installation du driver Internet Explorer®:

github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

Nous recommandons l'utilisation du driver 3.141 version 32bit pour éviter les problèmes de performance de la version 64bit.

Documentation pour l'installation du driver de Microsoft Edge® :

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Pour l'exécution Selenium, il sera nécessaire d'avoir installé Java® dans l'appareil Windows®.

Pour vérifier si vous avez Java®, exécutez la commande suivante :

java -version

Obtenez une sortie pareille à la suivante :

Le fichier JAR Selenium est aussi nécessaire pour exécuter le serveur locallement et l'enregistrer dans votre grille. Vous pouvez l'obtenir dans :

https://www.selenium.dev/downloads/

Pour activer le serveur Microsoft Edge®, exécutez dans un terminal dans le répertoire où vous avez le fichier JAR le suivant :

java -jar selenium-server-standalone-<VER>.jar -port 5555 -role node -hub
http://<ip_selenium_server>:4444/grid/register -browser "browserName=MicrosoftEdge,
platform=WINDOWS, maxInstances=1"

Pour activer le serveur Internet Explorer® la commande est similaire, mais vous devez spécifier le chemin <PATH> du driver que vous avez téléchargé :

java -Dwebdriver.ie.driver=<PATH>IEDriverServer.exe -jar selenium-server-
standalone<VER>.jar -port 5555 -role node -hub
http://ip_selenium_server:4444/grid/register -browser "browserName=internet
explorer,platform=WINDOWS,maxInstances=1"

Configurez le pare-feu de Windows® pour permettre le traffic dans les ports spécifiés dans la commande d'exécution. Dans le cas des exemples antérieures : 5555 et 4444.

Enregistrement

Vous devez tenir sur compte que les enregistrements faites dans Selenium 2 peuvent ne pas fonctionner correctement.

Pour la version 3 de Selenium, ils seront compatibles les anciens enregistrements ainsi que les nouveaux, bien que ça ne garantit pas la compatibilité totale avec les versions anciennes.

Pour pouvoir enregistrer une nouvelle session, installez l'extension Selenium IDE dans le navigateur que vous souhaitez.

Firefox

https://addons.mozilla.org/es/firefox/addon/selenium-ide/

Chrome

https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd

L'icône sera celui qui permet d'initier l'environnenment d'enregistrement une fois l'extension est installée.

Si vous cliquez, ça vous montrera un menu qui vous permet dìniter de nouveaux projets d'enregistrement.

Une fois l'enregistrement fait, vous aurez un résultat pareil à celui-ci :

Apart de la fonctionnalité fournie par Selenium, Pandora FMS dispose des commandes personnalisées pour extraire de l'information du cible à superviser.

Commandes

Vous pouvez trouver la liste de commandes compatibles pour les utiliser dans Pandora FMS dans l'annexe des commandes.

Recommendations et suggestions lors des enregistrements

Ici nous détaillons une série de recommendations et conseils lors des enregistrements des transactions Selenium IDE ainsi que pour intégrer avec Pandora FMS les commandes les plus complexes :

  • Diviser la transaction en étapes aussi que possible. Donc les les modules d'état et de temps créés ainsi que les captures d'écran seront segmentés et il sera plus facile de localiser où est-ce que la transaction a échouée.
  • Utiliser la commande Selenium set speed etwait for pour éviter de faux négatifs. Lors de l'exécution d'une transaction, les commandes Selenium n'ont pas de délais par défaut depuis qu'un d'entre eux finit jusqu'à l'exécution du suivant, et quelques-uns n'ont pas de temps de finalisation ou timeout. Cela fait que l'exécution soit exécutée très rapidement dans aussi peu de temps que possible, mais en raison d'un processus si rapide, si le web est un peu lente ou il prend un seconde de plus, il ne trouvera pas l'élément dans la nouvelle page et la vérification échouera. Par exemple, après exécuter la commande click et changer de page, si après vous avez une commande qui intéragit avec un élément de la nouvelle pafe et la page prend une seconde de plus pour charger, il ne trouvera pas la'élément dans la nouvelle page et la vérification échouera. Pour éviter cettes situtations, il existe la commande set speed, qui ajoute un délai avec la quantité de millisecondes indiqués dans le cible entre chaque commande. Nous vous recommandons de l'établir au début de la transaction. Il y a aussi pour les cas ou vous savez que la charge d'une page ou d'un élément peuvent se retarder, les commandes wait for element present, wait for visible y wait for text dans lesquelles vous pouvez établir le tamps en millisecondes qu'il attendera pour que l'élément apparaît sur la page avant de considérer la transaction échouée. Il est important de remarquer que l'utilisation de cettes commandes augmente la fiabilité de la vérification il aussi augmente le temps d'ecécution de la transaction.
  • Faire des vérification des éléments. Pour ça des commandes telles que assert et verify, dans ses différents versants. Finir une transaction par exemple avec un clique ne vous garantit pas que la nouvelle page que l'élément doit ouvrir soit en fait ouverte, seulement qu'il est possible de cliquer sur l'élément. Si après le clique, vous entrez verify text dans un texte que vous savez que vous allez seulement chager après de cliquer, ça serait en fait une manière de vérifier que la page où vous allez après cliquer est disponible.
  • Utiliser store window handle dans transactions dans lasquelles vous allez changer fenêtres. Le changement de fenêtre (avec select window) peut échouer si vous n'avez pas stocké précédement un identifiant dans la fenêtre initial.
  • Utiliser xpath lorsque le Target par identificateur de CSS ou lorsque vous voulez chercher du contenu dans la page. Par défaut l'enregistreur Selenium IDE introduit dans le cible (target) de l'élément le localisateur du CSS, mais aussi enregistre le localisateur par xpath, pourtant il est possible de voir tous les localisateurs qu'il garde si vous cliquez dans la boîte du cible dans l'enregistreur:

Aussi, en utilisant des chemins par xpath, il est possible de chercher des textes dans les étiquettes des pages pour réaliser des enregistrements beaucoup plus dynamiques. Dans la capture d'écran antérieure regardez qu'il est possible d'utiliser le texte “Innovateurs de la supervision” dans toutes les étiquettes span de la page, pas dans un localisateur particulier.

  • Utilisation correcte de la commande execute script. Cette commande exécute une partie du code de JavaScript dans la fenêtre dans laquelle la transaction est localisée. Il est recommandée de lire le guide pour connaître son utilisation et les différents options qu'elle offre : https://ui.vision/rpa/docs/selenium-ide/executescript . Cependant, l'utilisation des variables stockées précédement (par une commanda store text par exemple) doit être entre doubles guillemets pour que le webdriver de Pandora FMS les interprète correctement. Ici il y a un exemple d'une variable stockée avec store text et son utilisation avec execute script de telle manière que le serveur Pandora FMS l'interprète correctement. Notez que cette utilisation de la variable entre des guillemets échouera lors de l'exécution du script dans l'enregistreur Selenium IDE :

Expérience utilisateur Web (WUX) avec Selenium 2

Selenium 2 est maintenant obsolète, la version actuelle est Selenium 3.

Configurations préalables

Selenium

Déploiement avec Pandora Web Robot Daemon (PWRD)

Pandora FMS Web Robot Daemon est un service qui fournit les outil nécessaires afin d'automatiser les sessions de navigation web, en utilisant un fichier qui contient une liste d'actions nécessaires pour naviguer dans le portal web de l'utilisateur.

Il est intégré dans le serveur Pandora FMS et vous pouvez le trouver dans le dossier /usr/share/pandora_server/util/pwrd lors de l'installation du serveur PFMS (GNU/Linux) ou dans la librairie de modules (Windows).

Pour le télécharger allez vers le lien suivant : https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/

Il contient :

  • Binaire du navigateur Firefox version 47.
  • Profil preconstruit pour l'exécution de sessions de navigation web.
  • Serveur d'automatisation de sessions (serveur Selenium).
Déploiement du serveur Selenium dans systèmes Windows

Éxigences préalables :

Pour télécharger le PWR_Server.zip, allez vers le lien suivant :

https://pandorafms.com/library/pwr-server-for-ux-monitoring/

Faites la distribution de fichiers suivante :

  • Décompression du fichier PWR_Server.zip a C:\PWR\.
  • Exporter le profil de Firefox® vers C:\PWR\profile

L'utilisation d'un profil pour faire des vérifications n'est pas obligatoire ; cependant il est recommandé de l'utiliser surtout si vous utilisez proxy ou lorsqu'il faut untiliser le complètement automatique des mots de passe. Pour créer un profil de Firefox® suivez les étapes des suivantes :

ux1.jpg

ux2.jpg

Choisir le répertoire de destination :

ux3.jpg

Initiez Firefox® avec le nouvel profil pour personnaliser les options telles que le prexy, l'affichage des menus contextuels ou popups, etc. :

ux4.jpg

Après installez le service exécutant le fichier BAT service_installer.bat qui a été fourni. Pour un fonctionnement correcte du service_installer.bat il faut modifier le contenu, en ajoutant les chemins existants dans le fichier telle que vous les avez installés dans votre machine. Par exemple, dans le cas de Java®, il pourra seulement fonctionner en tant que Java® si vous avez configuré correctement son PATH ; autrefois, sinon, il faut entrer le PATH complet dans le fichier. Finalement, initiez le service :

net start PWRSRV

Depuis ce moment là, vous aurez le serveur Selenium en exécution dans votre machine. Cependant, vous pouvez l'exécuter manuellement (en arrêtant le service précédement) au cas où vous voulez faire certaines tâches de dépuration où debugging, par le biais de la commande suivante :

java -jar C:\PWR\server\selenium-server-standalone-2.53.0.jar -firefoxProfileTemplate C:\PWR\profile -port 4444 -v

Déploiement du serveur Selenium dans systèmes Linux

Exigences préalables:

Le composant Selenium du démon PWRD précise Java® pour fonctionner, pour l'installer exécutez:

dnf install Java

Pour que PWRD soit capable de lancer Firefox® dans le serveur GNU/Linux, il est nécessaire d'installer, en plus, gtk2 et gtk3 pour pouvoir virtualiser un environment graphique:

dnf install xorg-x11-server-Xvfb gtk2 gtk3

Une fois installés les exigences préalables, continuez avec l'installation de install_pwrd.sh. Ledit installateur se trouve par défaut dans le dossier /usr/share/pandora_server/util/pwrd/install_pwrd.sh et il s'exécute comme suit:

cd /usr/share/pandora_server/util/pwrd/
./install_pwrd.sh --install

Une fois installé, démarrez le service:

/etc/init.d/pwrd start

Vous pouvez utiliser le script pour démarrez le serveur Selenium :

#!/bin/sh
# Monitoring selenium process
if [[ `ps aux |grep selenium` ]]; then
   exit
else
   if [[ `ps aux |grep Xvfb` ]]; then
      Xvfb :99 -ac &
      export DISPLAY=:99
   fi
   export DISPLAY=:99
   java -jar /usr/share/pandora_server/util/pwrd/selenium-server-standalone-2.53.1.jar &
fi

Ou bien manuellement avec les commandes suivantes:

$ Xvfb :99 -ac &
-> Pulse Enter to continue
$ export DISPLAY=:99
$ java -jar  /usr/share/pandora_server/util/pwrd/selenium-server-standalone-2.53.1.jar -port 4444 &

Vous avez ausse la possibilité de faire l'installation personnalisée avec un utilisateur et un répertoire différent del'installation par défaut.

Modes de fonctionnement de PWRD

PWRD fournit quelques modes de fonctionnement:

Standalone

Mode standard, il démarre une seule instance de PWRD. Chaque des instances sera associée à un serveur Pandora FMS.

HUB

Mode concentrateur. Dans ce mode, le service PWRD n'évaluera pas les sessions de navigation directement, mails des “nœuds” devront être enregistrés afin d'exécuter les tâches. C'est le mode grappe ou cluster du service PWRD. Chaque HUB será attribué à un serveur Pandora FMS.

PWRD en mode standalone

PWRD en mode standalone démarrera le démon et lui rendra prêt pour exécuter les actions indiqués par l'utilisateur à partir du serveur WUX.

Pour démarrer :

/etc/init.d/pwrd start

Pour voir l'état :

/etc/init.d/pwrd status

Pour arrêter :

/etc/init.d/pwrd stop
PWRD en mode HUB

Le mode concentrateur (HUB) démarrera le démon en tant qu'équilibreur de charge. Dnas ce mode de travail, le système équilibrera la charge entre tous les noeuds régistrés dedans, en attribuant l'exécution des sessions de navigation aux noeuds en fonction de leur charge de travail.

Vous pouvez voir à tout moment l'état du HUB en accèdant à la console de son administration (rémplasez <dir_ip_HUB> par l'adresse IP du HUB) :

http://<dir_ip_HUB>:4444/grid/console

Pour démarrez :

/etc/init.d/pwrd start-hub

Pour voir l'état :

/etc/init.d/pwrd status-hub

Pour arrêter :

/etc/init.d/pwrd stop-hub
Ajouter les noeuds PWRD à HUB

Pour ajouter un nouveau noeud PWRD vous avez besion de :

  • Un concentrateur (PWRD en mode HUB).
  • Les fichiers PWRD, dans la même machine ou dans une différente.
  • Connectivité TCP/4444 depuis l'appareil qui stocke le neud vers l'equipement qui stocke le HUB.

Avec ce mode de travail, le service traitera toutes les requêtes en file d'attente depuis le concentrateur (HUB), en lui retournant les résultats des exécutions. Il sera le HUB celui qui “ parle ” exclusivement avec le serveur WUX, étant visible pour celui qui exécute les actions de l'utilisateur.

Pour démarrer et enregistrer dans le HUB (remplacer hub par l'IP du serveur PWRD HUB) :

/etc/init.d/pwrd start-node http://hub:4444/grid/register

Pour voir l'état :

/etc/init.d/pwrd status-node

Pour arrêter :

/etc/init.d/pwrd stop-node
Télécharger des certificats pour Firefox

Il est possible que quelques-unes des vérifications configurées s'exécutent contre des pages web qui utilisent des certificats auto-signés ou signés par une CA non inclue entre celles qui sont acceptées par défaut dans Firefox®, donc dans ces cas il sera nécessaire de charger le certifie lui-même dans le profil Firefox® qui est utilisé.

Pour faire ça, il est plus facile de démarrer le navigateur dans un environenment graphique, accèder à l'URL et ajouter le certificat SSL. Après nous vous explicons comment faire ça sous MS Windows® et sous GNU/Linux® :

Avec PWRD déploié dans des systèmes Windows

Dans ce cas, puisque vous comptez avec un environenment graphique, vous avez seulement à démarrer le navigateur Firefox® avec le profil utilisé pour les vérifications :

Une fois initié, accèdez à l'URL avec le certificat que vous voulez charger at ajoutez-le en tant qu'exception pour le navigateur :

Une autre possibilité, si vous voulez accepter n'importe quel type de certificat SSL et tenant sur compte qu'il est un environenement de test et/ou supervision, serait d'accèder aux options de Firefox®, et l'onglet de “ Privacité et sécurité ”, et désélectionner le châmp “ Consulter aux serveurs qui répondent OCSP pour confirmet la validité actuelle des certificats ” :

Avec PWRD déployé dans des systèmes Linux

En général, lorsque vous installez un serveur GNU/Linux®, un environenement de bureau graphique n'est pas inclu, donc pour pouvoir suivre les m^mes étapes que précédement il faut faire un rédirection des graphiques X vers un équimpement qui aie un environenment de bureau graphique. Cela se fait de différents manières si vous rédirigez les X vers un bureau graphique dans GNU/Linux ou MS Windows®.

Rédirigeand X11 vers un bureau Linux

Établissez une connexion SSH au serveur PWRD avec le paramètre “ -X ” :

ssh -X user@pwrd_ip_address

Cela fait, lorsque vous lancez le navigateur Firefox, vous pourrez voir comment ça est affiché sur le bureau :

firefox -p

Dans une installation par défaut vous verrez seulement le profil “ default ”, donc il est recommendable de faire pareille à ce que vous avez fait pour l'installation dans MS Windows® et créer un nouveau profil à utiliser :

Si vous sauvegardez les profil dans un chemin différent de /opt/firefox_profile il est nécessaire d'éditer le script de démarrage du PWRD /etc/init.d/pwrd pour indiquer un nouvel chemin au nouveau profil :

PWROPTS=" -firefoxProfileTemplate /path/to/profile/folder"

Le profil créé, démarrez le navigateur :

Une fois initié, accàdez à l'URL avec le certificat que vous voulez télécharger et ajouter en tant qu'exception pour le navigateur :

Une autre possibilité si vous voulez accepter n'importe quel certificat SSL et gardant à l'esprit qu'il est un environenment de test et/ou supervision, il serait d'accèder aux options de Firefox, à l'onglet de “ Avancé > Certificats ”, et désélectionner le châmp “ Consulter aux serveurs qui répondent OCSP pour vérifier la validité actuelle des certificats ” :

Rédirigeant X11 vers un bureau Windows

Dans le cas de Windows, au début installez un serveur de X pour pouvoir faire la rédirection, comme par exemple Xming. Une fois installé et initié, vous pouvez faire la rédirection des X.

En utilisant le client SSH Putty, allez vers la section “ Connexion > SSH > X11 ” avant de faire la connexion, et assurez-vous de sélectionner l'option “ Enable X11 forwarding ” ainsi que de remplir le châmp “ X display location ” en tant que “ localhost:0 ” :

Après retournez vers la section “ Session ” et établissez la connexion :

Une fois connecté, si vous lancez le navigateur Firefox® dans le serveur PWRD, vous pourrez l'afficher sur le bureau MS Windows®.

firefox -p

Dans une installation par défaut vous verrez seulement le profil “ default ”, donc il serait recommendable de faire de même que dans l'installation dans Windows® et créer un nouveau profil dans lequel utiliser :

si vous sauvegardez le profil dans un chemin différent de /opt/firefox_profile, il sera nécessaire d'éditer le script de démarrage du PWRD /etc/init.d/pwrd Certificats“, et désélectionner le champ ” Consulter les serveurs qui répondent OCSP pour confirmer la validité actuelle des certificats “ :

Configuration du serveur PFMS

Pour l'utilisation du mode centralisé (WUX) il est nécessaire d'appliquer la configuration suivante au serveur Pandora FMS.

Quel que soit le mode choisi, une fois démarré vous pouvez commencer à attribuer des exécutions de vos sessions de navigation, an ajoutant les paramètres de configuration du serveur WUX au fichier de configuration du serveur Pandora FMS.

Supossant que vous avez déployé le serveur PWRD dans le même serveur dans lequel le serveur Pandora FMS s'exécute, il ajouterait la configuration suivante dans /etc/pandora/pandora_server.conf :

 wuxserver 1
 wux_host 127.0.0.1
 wux_port 4444
 wux_timeout 30

Le paramètre wux_timeout établit le temps maximale des transactions jusqu'à 30 secondes : s'il est nécessaire, modifiez cette valeur selon votre environenment particulier.

Gestion des fils du PFMS

En cas d'utilisation du PWRD en mode hub :

  • La gestion des threads de wuxserver se fait automatiquement lors du démarrage du service pandora_server.
  • Elle est effectuée en tenant compte du nombre de nœuds d'un navigateur MINOR dans le hub Selenium. Par exemple :
    • Si 2 nœuds Firefox et 2 nœuds Chrome sont configurés dans le hub, le nombre de threads wuxserver sera 2.
    • Si 1 nœud Firefox et 4 nœuds Chrome sont configurés dans le hub, le nombre de threads sera 1.
    • Si 6 nœuds Firefox sont configurés dans le hub, le nombre de threads sera 6.

Notez que chaque thread indique les sessions qui peuvent être envoyées simultanément du wuxserver au hub Selenium.

Enregistreur de sessions (PWR)

La nouvelle version de Selenium IDE est compatible à partir de la version 745 de Pandora FMS (Selenium 3). Les transactions enregistrées dans Selenium 2 ne seront pas affectées.

Avant de superviser un éxperience utilisateur, faites l'enregistrement. Selon le type de technologie que vous avez choisi il utilisera un système d'enregistrement ou un autre.

Les sessions enregistrées avec Selenium 2 seulement pourront se faire avec Firefox®.

Pour faure l'enregistrement d'une navigation avec PWR l'enregistreur PWRD disponible dans la librairie de modules est nécessaire :

https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/

Il contient :

Démarrez l'enregistreur PWR_recorder.exe .

Firefox démarrera automatiquement avec l'environenment prèt à enregistrer des sessions PWR :

Après accèder à l'IDE de Selenium, vous pouvez initier l'enregistrement de l'expérience utilisateur comme suit :

ux10.jpg

Naviguez par le site web à superviser ; les différents actinos de chaque étape finie seront affichées sur l'enregistreur.

Afin d'arrêter l'enregistrement, utilisez le bouton suivant, situé sur la coin superieur droit de l'enregistreur :

ux11.jpg

Une fois complétées les actions, faites les vérifications sur la page ; par exemple, vérifier l'existence d'un texte determiné pour assurer que la page chargée est la correcte. Pour ça, clique sur le bouton droit de la souris sur une section de texte dans la fenêtre du navigateur pendant l'enregistrement, et sélectionner l'option verifyText :

ux13.jpg

Une nouvelle étape dans l'enregistreur en indicant l'action de vérification de texte indiquée :

ux14.jpg

Réproduissez la séquence complète par le biais du bouton Play entire test suite et vérifiez qu'il fini correctement :

ux15.jpg

Une fois vérifié la validité de la séquence de navigation, gardez (Archive → Save Test Case) pour l'exécuter après avec Pandora FMS UX. Le fichier résultant sera un document HTML que Pandora FMS UX interpretera.

Enregistrer une session transactionelle pour Pandora WUX

Pandora FMS WUX permet de diviser la supervision de la navigation d'un site web en quelques modules, qui représenteron chacune des étapes réalisées.

Pour insérer un nouveau point de contrôle et géneérer des modules de phase (jusqu'à ce point là) cliquez sur le bouton droit de la souris sur le point où vous souhaitez idéntier le départ de la phase.

En tant que commentaire, ajoutez le texte suivant :

phase_start:<phase_name>

L'étape comprise le temps et le résultat de toutes les commandes que vous trouvez usqu'au commentaire suivant :

phase_end:<phase_name>

Tooutes les commandes qui s'exécutent entre une étiquette phase_start et phase_end seront inclus dans cette étape.

Gardez sur compte que les enregistrements realisés dans Selenium 3 ne peuvent pas fonctionner correctement.

Exécutions des transactions web

Exécution standard

Pour lancer des sessions pré-enregistrés de PWR appellez à l'exécutable pandora_ux_x64.exe, que vous pouvez télécharger depuis le lien suivant :

https://pandorafms.com/library/user-experience-pandora-ux

Indiquez que le mode de travail est PWR, et le fichier qui contient les instructions de la session. Dans le chemin indiqué dans le paramètre -folder les captures d'écran à montrer en cas d'erreur seront sauvegardées (paramètre optionel). Vous pouvez également introduire le nombre de réessais consecutifs au cas d'échec (paramètre optional). Son exécution dans Windows est :

pandora_ux_x64.exe -exe PWR -script C:\tests\std.html -retries 3

Les modules suivants seront rétournés :

  • UX_Status_<nom_projet» si la séquence a été complétée ou a echouée.
  • UX_Time_<nom_projet» temps emploiée pour complèter la séquence.
  • UX_Snapshot_<nom_projet» capture d'écran avec le dernier point avant de l'erreur, s'il y en a.

Exemple de la sortie avec l'exécution correcte :

<module>
   <name><![CDATA[UX_Status_std.html]]></name>
   <type>generic_proc</type>
   <data><![CDATA[1]]></data>
   <description><![CDATA[Test OK]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
</module>
<module>
   <name><![CDATA[UX_Time_std.html]]></name>
   <type>generic_data</type>
   <data><![CDATA[16.317]]></data>
   <description><![CDATA[Test OK]]></description>
   <tags>UX</tags>
   <module_group>UX</module_group>
   <module_parent>UX_Status_std.html</module_parent>
</module>

Exemple de sortie avec exécution incorrecte :

<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 de Pandora FMS instalé dans la machine que vous ayez préparé pour exécuter les vérifications. La ligne à ajouter au fichier de configuration de l'agent aura un aspect similaire à celui-ci (dans une seule ligne):

Sous Windows® :

module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\sesion.html -folder <ruta screenshots>

Sous Linux :

module_plugin /usr/share/pandora_server/util/pwrd/firefox/pandora_ux.64 -exe PWR -script /usr/share/pandora_server/util/pwrd/firefox/PruebaUX.html -pwr_port 4444

Une fois qu'il rapporte les informations au serveur Pandora FMS, vous verrez que les modues correspondantes apparaissent. Vous pouvez habilliter la viste en mode jérarquique pour voir la rélation entre eux :

ux33.jpg

Comme indiqué précédement, vous verrez le résultat de lexécution (si elle a e´té complétée) dans le module UX_Status_sesion.html, le temps employé (en secondes) dans le module UX_Time_sesion.html, et un autre avec la capture d'écran du dernier erreur dans UX_Snapshot_sesion.html, que dans ce cas est vide. Vous pouvez créer des alertes sur ces modules et montrer les graphiques individuelles de chaque module.

Exécution basée sur des étapes

Si vous avez un enregistrement transactionnel avec Pandora FMS UX PWR, comme indiqué dans les sections précédentes, le système lui-même générera les modules nécessaires pour identifier chacune des étapes indiquées, donc l'exécution ne sera pas différent du cas précédent ; uniquement indiquez le fichier html correspondant, qui dans ce cas contiendra les différentes étapes. Exemple d'exécution sous Windows :

pandora_ux_x64 -exe PWR -script C:\tests\std.html --folder <ruta screenshots>

Les modules suivantes seront retournés par étape :

  • UX_Time_nom_projet.étape_ordre
  • UX_Status_nom_proyjet.étape_ordre

S'il y a une étape avec des erreurs, le module suivant sera aussi créé :

  • UX_Snapshot_nom_projet.étape_ordre

Il montrera une image du web dans le moment de l'erreur.

Les modules de résumé globales seront aussi retrounes indentifiés avec les noms suivants :

  • UX_Global_Time_nom_projet
  • UX_Global_Status_nom_projet
  • UX_Global_Snapshot_nom_projet

Et une image du web sera montrée dans le moment de l'erreur.

La igne d'exécution de l'agent sera la même que le cas précédent, mais avec le fichier html qui contient les étapes accordées.

Lorsque l'information arrive correctement au serveur Pandora FMS, il sera affiché sous forme de modules de cette manière. Habiliter la vue sous mode hiérarchique dans la liste de modules vous aide à afficher l'information de manière beaucoup plus claire :

ux34.jpg

En accèdant à la section WUX de l'agent, vous pourrez voir les détails supplémentaires de la transaction et ses étapes.

L'exemple ci-dessous répresente un processus de navigation à travers notre site web et a quelques articles, divisé en 5 étapes afin de mesurer exactement les temps employés et savoir où est ce qu'il faut des améliorations ou où est-ce qu'il se produit un goulot d'étranglement :

ux44.jpg

Récuperation de valeurs

Pandora FMS UX est capable de récuperer des données directement depuis le web pendant l'exécution des vérifications d'expérience utilisateur.

Pour utiliser cette novelle charactéristique, il faut seulement ajouter l'ordre de capturer sous forme de commentaire la vérification de Selenium :

Danc cet exemple, deux valeurs sont récupérés après de naviguer, il seront réprénsentés en tant que modules dans Pandora FMS (numéro et résultat en tant que texte).

Lés étapes pour ordonner le plugin de faire la collecte de données sont les suivants :

  • Ajouter un nouveau commentaire au fichier des vérifications avec l'enregistreur Selenium.
  • Ajouter la directive au commentaire.

Directive de capture de données

getValue;<module name>;<module data type>;<Perl regular expression for data capture>

Qu'est-ce que réprésente chaque champ séparé par des points-virgules?

getValue

Instruction pour le système UX.

Nom du module

Le nom du module tel qu'il apparaît sur Pandora FMS.

Type de donnée du module

Quel type sera utilisé ; il peut être n'importe quel des types de données supportés par Pandora FMS.

Expression regulière Perl è utiliser pour la capture de données

Elle doit être une expression regulière Perl, avec l'orde de capture d'information entre parenthèses.

Par exemple, dans le texte :

<p> The temperature of the solar panel is: <span class="temperature">54º C</span></p>

Si vous voulez récuperer la temperature pour suivre la valeur, spécifiez l'expression regulière comme suit :

<span class="temperature">(\d+\.*\,*\d*).*</span>

De manière que la valeur 54 de l'exemple sera récupérée, ou possibles valeur avec des positions decimaux.

La directive de capture complète serait comme suit :

getValue;solar panel temperature;generic_data;<span class="temperature">(\d+\.*\,*\d*).*</span>

Les commandes qui générent des modules sont :

  • getValue : Extrait une valeur.
getValue;module_name;module_type;REGEX_string_match
  • getVariable : (Version NG 753 ou supérieure) Il extrait une valeur spécifique d'une variable.
getVariable;module_name;module_type;var_name
  • getScreenshot : Extrait une capture d'écran.
getScreenshot;module_name

getValue est une commande qui appartient au type qui génèrent les modules Pandora FMS. Visitez le lien précédent pour en savoir plus.

Tous les commandes propres doivent apparaître dans le fichier de vérification (.side) en tant que commentaires. Au cas contraire, il échouera lors de la vérification dans l'extension de Selenium.

Gestion et affichage de données

Créer un module d'analyse web dans la Console Pandora FMS

Une fois vous avez une session de navigation enregistrée, il faut le déployer en tant que Module dans la Console Pandora FMS.

À cette fln, accèdez à n'importe quel des agents associés au serveur avec une fonctionnalité WUX activée et crééz un module du type Analyse web en choisissant l'option Create a new web analysis module :

Cliquez sur Create et après remplissez tous les champs dans le formulaire :

Name

Module WUX (Père) ; rappelez-vous que tous les sousmodules avec les résultats de la supervision dépendront de ce nouveau module.

Run performance tests

Il spécifique le lancement des vérifications de performance, c'est à dire de superviser pas seulement l'expérience utilisateur mais ausse les statistiques de performancce de l'accès au site web cible.

Execute tests from

Il indique le serveur WUX qui exécutera la vérification.

Browser

Navigateur web avec lequel exécuter la vérification.

Le navigateur indiqué doit apparaître dans la grille ou serveur Selenium utilisé par le serveur WUX.

User data dir

(Version 764 ou ultérieure) Facultatif : il permet de spécifier un répertoire pour les données.

L'option User data dir ne fonctionne que sur le navigateur web Google Chrome.


Profile

(Version 764 ou ultérieure) Facultatif : il permet de spécifier un profil utilisateur. Si le nom du profil n'existe pas, utilisez le profil par défaut.

L'option Profile ne fonctionne que sur le navigateur web Google Chrome.


Accept insecure certificates

Sil est activé, n'importe quel certificat non-sécurisé sera accepté (auto-signé, expiré, etc.) qui fait partie de la navigation.

Cette option est seulement disponible pour les navigateurs Google Chrome® et Mozilla Firefox®, et seulement sera appliquée si la vérification exécutée par un serveur Selenium 3.

Historical data

Sauvegardez ou pas l'information historique des modules qui supervisent l'expérience utilisateur.

Section de texte

Copiez (ou téléchargez avec le bouton Browse…) le contenu des fichiers de la session de navigation que vous avez enregistré précédement.

FF interval

Intervalle de temps Flip Flop d'exécution du module (en secondes).

Retries

Nombre de tentatives pour lancer le module.

Macros personnalisées

Le fonctionnement des macros personnalisées comprend le remplacement de certaines chaînes de texte présentes dans le fichier de session navigation par certaines valeurs personnalisables.

Dans les cas de modules d'analyse web, cette fonctionnalité a été amélioré, permetant des macros dinamiques qui permettent que ces valeurs soient traduits en dates et heures variables.

Pourquoi cette fonctionnalité ?

Supposez que vous avez besoin de superviser, par le biais d'une session de navegation, le correcte fonctionnement d'une application web de réservation de salles de réunion.

Si vous établissez une date et heure fixée lors de remplir les données du formulaire, il est possible que le système cancèle la réservation parce à quelque moment il est dans le passé ; par exemple, vous pourriez réserver une salle pour la semaine prochaine.

Il est aussi possible de trouver un temps maximale pour pouvoir faire la réservation et que le système vous fait réserver la salle dans un temps concret, par exemple pas supérieur au mois en vigueur.

Pour éviter d'éditer la macro tous les quelques jours, et ne pas s'inquiéter à cause de la section de configuration, vous pouvez utiliser les macros dinamiques, en indicant le système que vous réservez la salle toujours pour le jour suivant au moment de faire la vérification.

Afin de pouvoir utiliser cette fonctionnalité, les valeurs doivent avoir un format spécifique, en obtenant les remplacements possibles suivantes :

  • @DATE_FORMAT: date/heure actuelle avec format défini par l'utilisateur.
  • @DATE_FORMAT_nh: heures.
  • @DATE_FORMAT_nm: minutes.
  • @DATE_FORMAT_nd: jours.
  • @DATE_FORMAT_ns: secondes.
  • @DATE_FORMAT_nM: mois.
  • @DATE_FORMAT_nY: années.

Ou “ n ” peut être un numéro sin sgne positif ou négatif.

Et FORMAT suive le standard de strftime de Perl

Exemples :

 @DATE_%Y-%m-%d %H:%M:%S
 @DATE_%H:%M:%S_300s
 @DATE_%H:%M:%S_-1h

Affichage des données

L'information générée par WUX sera affichée sous forme de modules comme suit. L'activation de la vue en mode hiérarchique, dans la liste de modules aidera à afficher l'information de manière beaucoup plus claire :

Dans cette hiérarchie vous trouverez les modules suivants :

  • módulo_Global_Status : Indiquera l'état global de la navigation complète.
    • Au cas où il existe un enregistrement il donne l'état de l'enregistrement WUX.
    • Dans le cas où les run performance Test sont activées mais il n'y a pas d'enregistrement inclu, l'état du module Global Status est celui de la vérification fait lors de l'obtention de ces modules.
  • módulo_Global_Time : Il indiquera le temps global employé dans la navigation complète.
  • módulo_Global_Screenshot : Il contient une image avec le résultat de l'échec de navigation, il ne sera généré qu'en cas d'échec.
  • módulo_Phase X : Nom de étape_Status : Il indiquera l'état de la navigation pendant l'étape X.
  • módulo_Phase X : Nom de étape_Time : Il indiquera le temps employé dans l'étape X.

Exemple : Vue de la capture d'erreur.

Attention : Si vous avez mis à jour depuis une version précédente à Pandora FMS 7.0NG 712 vous devez fair un léger changement.

Afin de pouvoir stocker les captures d'écran générées par le serveur WUX, vous devez lancer les opérations suivantes dans votre schéma de base de données :

 alter table tagente_estado modify column datos mediumtext;
 alter table tagente_datos_string modify column datos mediumtext;

Si vous ne faites pas ces actions, les captures pourraient être incomplètes.

En accèdant à la section WUX de l'agent vous pouvez voir des détails supplémentaires de la transaction et ses étapes :

Les statistiques du site web sont résumées dans les concepts suivants :

  • Stats_TT : Temps total pour obtenir le site web.
  • Stats_TDNS : Temps total pour résoudre l'adresse IP du cible.
  • Stats_TTCP: Temps employé pour connecter par le biais de TCP.
  • Stats_TSSL : Temps employé pour établir communication SSL.
  • Stats_TST : Temps passé jusqu'au démarrage du transfert de données.
  • Stats_TTC : Temps passé en transférant des données ; il groupera tous les temps de tranfert de ressources.
  • Stats_TTR : Temps employé pour transférer le contenu de la page.
  • Stats_TTR_main : Temps employé pour transférer le code HTML.
  • Stats_TTR_image : Temps employé pour transférer les ressources du type image (png|jpg|jpeg|bmp|tiff|gif|webp|svg).
  • Stats_TTR_css : Temps employé pour transférer les feuilles de styles.
  • Stats_TTR_js : Temps employé pour tranférer les fichiers JavaScript.

Attribuer des alertes à un module d'analyse web

Les alertes associées aux modules d'analyse web suivent la même distance dynamique de fontionnement que tout le système d'alertes Pandora FMS.

Pour compatibilité il est recommandé d'attribuer les modèles d'alertes sur les souséléments autogénérés par le module d'analyse web, comme par exemple :

  • L'état de navigation global.
  • Alertes sur les seuils de temps.
  • Alertes avec modèle d'avertissement mis sur ” toujours “ pour les modules capture d'image de résultats.

Nouveaux widgets pour Dashboards

Afin de pouvoir répresente les informations de la navigation d'utilisateurs, de nouveaux types de widget ont été ajoutés :

Widget d'état des étapes de navigation

Widget de statistiques du site web

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 documentation du Pandora FMS