Nous aurons besoin d'un serveur recevant les étapes des scénarios Selenium. Nous utiliserons un serveur Debian 8 64 bits et le moteur Selenium Server 2.49 en java. Pour exécuter les requêtes sur les sites à superviser, nous utiliserons un serveur virtuel X xvfb et un navigateur de type Firefox (iceweasel).
Pour aider à vous retrouver dans mes articles, voici les étapes à ne pas oublier pour la réussite de votre projet :
1 - Installation du serveur Selenium
2 - Installation du plugin Centreon waa
3 - Création d'un scénario avec Selenium IDE
4 - Configuration de Centreon pour superviser un site Web
Pour aider à vous retrouver dans mes articles, voici les étapes à ne pas oublier pour la réussite de votre projet :
1 - Installation du serveur Selenium
2 - Installation du plugin Centreon waa
3 - Création d'un scénario avec Selenium IDE
4 - Configuration de Centreon pour superviser un site Web
1 Configuration du serveur Debian
Nous utiliserons un template debian 8 en 64 bits (voir Installation d’une VM sous Fusion) équipé d'un serveur SSH, de la version open source de java, du serveur virtuel X xvfb et du navigateur iceweasel (firefox).
apt-get install ssh openjdk-7-jre xvfb iceweasel -y
Ensuite nous devrons télécharger le moteur du serveur Selenium (archive bar) dans le dossier /opt/selenium créé préalablement. Pour récupérer l'archive, visitez le site de Selenium. Pour faciliter la maintenance, créez un lien symbolique.
mkdir /opt/selenium cd /opt/selenium wget http://selenium-release.storage.googleapis.com/2.49/selenium-server-standalone-2.49.0.jar ln -s selenium-server-standalone-2.49.0.jar selenium-server-standalone.jar
On peut vérifier le bon fonctionnement du serveur selenium
cd /opt/selenium java -jar selenium-server-standalone.jar
Vous devriez avoir ces messages suivants
08:26:26.560 INFO - Launching a standalone Selenium Server 08:26:26.653 INFO - Java: Oracle Corporation 24.171-b02 08:26:26.653 INFO - OS: Linux 3.16.0-4-amd64 amd64 08:26:26.693 INFO - v2.49.0, with Core v2.49.0. Built from revision 365eeb4 08:26:26.911 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX 08:26:26.912 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, browserName=MicrosoftEdge, version=}] does not match the current platform LINUX 08:26:26.913 INFO - Driver class not found: com.opera.core.systems.OperaDriver 08:26:26.913 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered 08:26:26.916 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped: registration capabilities Capabilities [{platform=MAC, browserName=safari, version=}] does not match the current platform LINUX 08:26:27.124 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 08:26:27.125 INFO - Selenium Server is up and running
Quittez l'application (CTRL+C). Récupérez le GitHub de Centreon Web Application Analytics et déposez-le, par exemple, dans /usr/local/src. Nous avons besoin des fichiers de scripts pour les services.
apt-get install git -y cd /usr/local/src git clone https://github.com/centreon/centreon-web-application-analytics.git cp centreon-web-application-analytics/server/debian/init-xvfb /etc/init.d/xvfb cp centreon-web-application-analytics/server/debian/default-xvfb /etc/default/xvfb chmod a+x /etc/init.d/xvfb mkdir -p /usr/local/labkey cp centreon-web-application-analytics/server/debian/init-selenium /etc/init.d/selenium cp centreon-web-application-analytics/server/debian/default-selenium /etc/default/selenium chmod a+x /etc/init.d/selenium mkdir -p /var/log/selenium
1.3 Configuration des services
Pour utiliser le serveur Selenium, nous aurons besoin d'un user selenium
useradd -s /bin/bash -d /home/selenium -m selenium
Mettre les droits au dossier de log
chown selenium: /var/log/selenium/
Activez les services
update-rc.d xvfb defaults update-rc.d selenium defaults
Maintenant, il faut configurer les fichiers se trouvant dans /etc/default/. Commençons par le fichier /etc/default/xvfb
RUN_AT_STARTUP="YES" FBDIR="/usr/local/labkey"
Terminons par le fichier /etc/default/selenium
RUN_AT_STARTUP="YES" SELENIUM_FFPROFILE="/home/selenium/firefox-profile"
Créez le profil selenium avec firefox. Mettre les droits à l'utilisateur selenium.
firefox --display=:99 -CreateProfile "firefox-profile /home/selenium/firefox-profile" chown -R selenium: /home/selenium/
un fichier prefs.js est créé, vous pouvez insérer vos préférences. Pour faire prendre en compte ce profil, vous devrez modifier le fichier /etc/default/selenium
Il ne reste plus qu'à lancer les services xvfb et selenium
service xvfb start service selenium start
Vérifiez que selenium écoute sur le port 4444
netstat -an | grep 4444 tcp6 0 0 :::4444 :::* LISTEN
Les bonnes pratiques de Selenium préconisent la désactivation de la mise à jour automatique de Firefox pour éviter la formation de processus zombie lors de l'exécution des tests. Dans notre cas sous Debian, ce problème est réglé puisque les mises à jour sont réalisées par le processus apt-get.
1.5 Vérification du serveur Selenium
Il est possible de tester le fonctionnement du serveur Selenium en saisissant l'url suivante
http://[ip serveur selenium]:4444/wd/hub/static/resource/hub.html
Vous devriez visualiser l'écran suivant.
Nous pouvons passer à la configuration du plugin waa sur le serveur Centreon.