Menu


Stacks Image 37777
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

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
Stacks Image 1973
Remarques
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.
Stacks Image 4550
fonctionnement du serveur Selenium
comments powered by Disqus