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

Nous utilisons des cookies pour nous permettre de mieux comprendre comment le site est utilisé. En continuant à utiliser ce site, vous acceptez cette politique.