1.1 - Installation de java et ssh
sudo apt-get install openjdk-7-jre-headless ssh
2 - Installation de Xvfb et Firefox
sudo apt-get update && sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps imagemagick firefox
Création du script de démarrage pour Xvfb :
sudo nano /etc/init.d/xvfb
#!/bin/bash
if [ -z "$1" ]; then
echo "`basename $0` {start|stop}"
exit
fi
case "$1" in
start)
/usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 &
;;
stop)
killall Xvfb
;;
esac
Rendre le fichier exécutable :
sudo chmod +x /etc/init.d/xvfb
Ajouter le lancement au démarrage : sudo update-rc.d xvfb defaults
3 - Installation de Selenium HQ
sudo mkdir /var/lib/selenium
sudo wget -O /var/lib/selenium/selenium-server.jar http://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar
sudo chmod +x /var/lib/selenium/selenium-server.jar
Test du Selenium server :
- Démarrage de xvfb :
sudo /etc/init.d/xvfb start
- Affectation de la variable d'environnement d'affichage pour Firefox :
export DISPLAY=:99
- Exécution d'une suite de test
java -jar /var/lib/selenium/selenium-server.jar -htmlSuite *firefox http://killygrind-inte.fresh.local "/home/jenkins/selenium/test/suite.html" "/home/jenkins/selenium/output/firefox-results.html"
4 - Installation de Jenkins
Installation :
sudo -i
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
echo 'deb http://pkg.jenkins-ci.org/debian binary/' >> /etc/apt/sources.list
apt-get update && apt-get install jenkins
Création de la structure des dossiers pour l'utilisateur jenkins :
sudo mkdir /home/jenkins /home/jenkins/selenium /home/jenkins/selenium/test /home/jenkins/selenium/output
sudo chown -R jenkins /home/jenkins
sudo chmod -R 755 /home/jenkins/selenium/output/
Création d'un mot de passe pour l'utilisateur jenkins :
sudo -i
passwd jenkins
5 - Paramétrage de Jenkins
Se connecter à l'interface de Jenkins via le navigateur :
http://jenkins-srv.domain.local:8080
Allez dans Administrer Jenkins > configurer la sécurité globale :
Cocher "Activer la sécurité".
Dans la section "Royaume pour la sécurité (Realm)", cocher "Base de données des utilisateurs de Jenkins" et "Autoriser les utilisateurs à s'inscrire", puis cliquer sur "Enregistrer".
Cliquer ensuite sur "Créer un compte" et se connecter.
6 - Installation des plugins
Allez dans Administrer Jenkins > gestion des plugins, puis cliquer sur l'onglet "Disponibles".
Ajouter les plugins suivants :
Hudson Seleniumhq plugin
Redémarrer Jenkins via l'interface graphique.
Allez dans Administrer Jenkins > configuration
Dans la section "Propriétés globales", cochez la case "Variables d'environnement" et ajouter la paire clé/valeur suivante :
clé : DISPLAY
valeur : :99
Dans la section "Selenium Remote Control", configurer comme suit :
htmlSuite Runner : /var/lib/selenium/selenium-server.jar
7 - Création et configuration du projet
Dans le menu de gauche, cliquer sur "Nouveau Item", nommer le projet et sélectionner "Construire un projet freestyle".
Sélectionner le projet et cliquer sur configurer.
Dans la section Build > SeleniumHQ htmlSuite Run
browser : *firefox
startURL : http://test.domain.local
suiteFile : /home/jenkins/selenium/test/suite.html
resultFile: /home/jenkins/selenium/output/firefox-results.html
Cliquer sur "Sauver".
8 - Création d'une suite de test
On va maintenant créer une suite de test avec firefox que l'on va envoyer à notre serveur Jenkins afin qu'il puisse l'effectuer. Pour l'exemple ici l'opération est faire sur Mac OS X, c'est à peu de chose prêt pareil sur Linux et Windows. Télécharger le plugins Selenium IDE pour Firefox et installer le :
http://www.seleniumhq.org/projects/ide/
Un fois selenium installé, lancer le en allant dans Menu > Outils > Selenium IDE. Dans la fenêtre du plugin Selenium IDE, aller dans le volet de gauche et sélectionner "Untitled" puis renommer le en faisait un clique-droit > Propriétés. Ici on va le nommer "navigation" pour le test que l'on va effectuer.
Pour commencer l'enregistrement de notre test on va cliquer sur le bouton rouge en haut à droite. On va ici simuler une simple visite en cliquant sur les liens de la navigation principale du site de test. Cliquer de nouveau sur le bouton rouge pour arrêter l'enregistrement. On enregistre ensuite le test sous forme de suite en allant dans Menu > Fichier > Enregistrer une suite de tests. Enregistrer la suite de test sur le bureau en le nommant "suite.html".
Sur le bureau on va avoir deux fichiers créés : suite.html et navigation.html
On va envoyer ces fichier au serveur Jenkins :
scp /Users/"user"/Desktop/suite.html jenkins@jenkins-srv.domain.local:/home/jenkins/selenium/test/ scp /Users/"user"/Desktop/navigation.html jenkins@jenkins-srv.domain.local:/home/jenkins/selenium/test/
Maintenant on peut lancer un build de notre projet.