Cet espace est communautaire et est basé sur les contributions de chacun. N'hésitez pas a créer de nouveaux documents en suivant les bonnes pratiques.
OFBiz-Neogia-selenium server
Contents |
Présentation du Selenium server :
Le Selenium server est, comme son nom l'indique un serveur de test dédié à l'intégration continue d'OFBiz et de Neogia. Il est composé de quatres parties :
- OFBiz
- Neogia
- OFBizAddOn
Chaque partie à son propre objectif décrit ci-dessous.
Organisation des répertoires du serveur
/var/www/selenium.neogia.org | | + ---- /commonAllSelenium | | | selenium-server.jar | | | +----/seleniumProfile | + ---- /ofbiz | | | startSeleniumProcess.sh | | | +----/ofbiz | | | +----/tests | | | +----/results | + ---- /ofbizAddon | | | startSeleniumProcess.sh | | | +----/ofbiz | | | +----/ofbizAddOn | | | +----/scripts | | | +----/tests | | | +----/results | + ---- /ofbizNeogia.stable | | | startSeleniumProcess.sh | | | +----/ofbizNeogia | | | +----/tests | | | +----/results | | ---- /junit | | | startProcess.sh | | | +----/results index.html startSeleniumSequence.sh
OFBiz
Le serveur effectue un test journalier sur la branche principale de développement du projet OFBiz. Ce test est composé de plusieurs seleniums.
Son objectif est de permettre de se rendre compte de l'occurrence d'un problème dans les modifications apportées au projet.
Ainsi un effet de bord causé par l'ajout d'une nouvelle fonctionnalité pourra être décelé, ainsi un travail de recherche pourra être mis en place afin de pouvoir, soit corriger le selenium si l'erreur apparue n'est pas un réel problème, soit soumettre et proposer une solution au problème sur la mailing-list des développeurs d'ofbiz : dev@ofbiz.apache.org
Il est bien sur possible de contribuer au projet par l'ajout de nouveaux tests Seleniums (méthode décrite plus loin)
Neogia
De la même manière qu'il fait des tests sur OFBiz, le serveur effectue un test journalier sur la branche principale de développement du projet Neogia.
Son objectif est le même que pour OFBiz sauf qu'il se destine au projet Neogia. Les propositions de corrections seront donc à poster sur la mailing list des développeur de Neogia : neogia-devel@lists.sourceforge.net
OFBizAddOn
Cette partie teste l'installation des différents Addons Neogia existants sur OFBiz. Ce test journalier permet de se rendre compte de problèmes de compatibilité entre OFBiz et les divers AddOn ceux-ci dus à l'évolution d'OFBiz
junit
Ce répertoire permet de réaliser les tests unitaires d'ofbiz.
Fonctionnement :
Les tests sont planifiés de façon journalière. Le serveur utilise des script shell afin de lancer l'exécution des tests Seleniums et afin de pouvoir analyser les résultats de ces tests.
Le serveur utilise aussi un script Python qui permet de mettre en place l'historique des tests ainsi qu'une fiche de synthèse qui présente les erreurs rencontrées et les tests fonctionnels.
Chaque jour, si une erreur est détectée, un mail est envoyé sur la mailing-list des développeurs Neogia donnant un lien sur le serveur http://selenium.neogia.org/.
On y retrouve donc la fiche de synthèse des tests ainsi que des liens vers les historiques de test.
Cas d'utilisation :
Correction d'une erreur sur un test existant
Si une erreur a été décelée, vous pouvez tenter de la corriger, pour cela il faut:
- Récupérer le fichier de test correspondant situé ici pour OFBiz et la pour Neogia.
- Munissez vous d'un OFBiz version Trunk à jour
- installer un outil de Test (Selenium à faire#Utiliser_le_Selenium-server.jar)
Maintenant vous avez tous les outils en main afin de débuter la correction d'erreur.
Dans un premier temps, il vous faut reproduire l'erreur afin de l'analyser. Pour cela :
- lancer votre OFBiz mis à jour
- lancer votre test avec l'outil de test que vous avez choisi
- Exécuter le test pour retrouver l'erreur
Une fois l'erreur obtenue il vous reste à analyser le type d'erreur :
- Erreur test Selenium :
C'est une erreur qui ne se passe pas au niveau d'ofbiz (message d'erreur apparent), c'est une erreur qui se passe au niveau du selenium (vérification du titre échoue, ne trouve pas le bouton sur lequel cliquer ...)
Ce type d'erreur est le plus facile à corriger, c'est le plus souvent du à un changement de label, titre ou autre dans OFBiz. Il suffit donc de corriger le selenium afin qu'il puisse arriver à faire ce qu'il faisait avant le changement.
(TODO : expliquer le moyen de commiter les modifs / envoi sur la mailing list sinon)
- Erreur OFBiz :
Second type d'erreur, plus compliqué souvent. Un réel problème dans OFBiz a été repéré. Maintenant il faut récupérer le début du message d'erreur apparaissant dans la console où a été lancé OFBiz.
Ensuite pour corriger l'erreur tout dépends du problème, il faut donc analyser ce problème et tenter de le résoudre. Dans tout les cas il ne reste qu'à proposer une solution (ou simplement reporter le problème) en expliquant comment le reproduire et en joignant le message de Log sur la mailing liste associée au projet.
Création d'un nouveau test Selenium
TODO
installation en local
- créer une arborescence similaire à celle du serveur
- récupérer via cvs les fichiers scripts du serveur de test (labs.libre-entreprise.org/neogia/neogia-tools/selenium-server)
- dans le répertoire commonAllSelenium (que vous venez de créer) y mettre
- Profil firefox dédié du serveur selenium ofbiz-neogia.
- Fichier selenium-server.jar
- vérifier votre configuration pour pouvoir lancer firefox
- les script utilisent le répértoire /usr/lib/firefox3 donc soit créer un lien soit changer dans le script toutes les références à firefox3
- dans le script le binaire utilisé est firefox3-bin, donc soit créer un lien soit changer dans le script toutes les références à firefox3-bin
- récupérer un ofbiz, ou ofbizNeogia ou ofbizAddon que vous souhaitez tester
- pour ofbiz, se placer dans le répertoire ofbiz puis
svn co http://svn.apache.org/repos/asf/ofbiz/trunk ofbiz
- si il n'est pas au bon endroit le mettre dans l'arborescence en le copiant, déplaçant ou faire un lien en dur, attention à ne pas utiliser de lien symbolique (option -s). Pour le lien "matériel" aussi appelé lien dur, il faut savoir que cela n'est pas possible avec un certain nombre de systèmes de fichiers, tel que ext3.
- modifier le fichier startofbiz.sh pour ne pas avoir la console qui s'affiche à l'écran.
-#$JAVA $VMARGS -jar ofbiz.jar $* >>$OFBIZ_LOG 2>>$OFBIZ_LOG& -exec "$JAVA" $VMARGS -jar ofbiz.jar "$@" +$JAVA $VMARGS -jar ofbiz.jar $* >>$OFBIZ_LOG 2>>$OFBIZ_LOG& +#exec "$JAVA" $VMARGS -jar ofbiz.jar "$@"
- pour ofbiz
- récupérer via cvs l'ensemble des tests (labs.libre-entreprise.org/ofbiz-fr/ofbizSelenium ln -s /monCheminVers/ofbizSelenium/ofbiz/ tests)
- le mettre dans l'arborescence (ou faire un lien sous linux)
- mettre le script startSeleniumProcess.sh de neogia-tools/selenium-server/ofbiz (ou faire un lien sous linux ln -s /monCheminVers/neogia-tools/selenium-server/ofbiz/startSeleniumProcess.sh startSeleniumProcess.sh)
- ouvrir ce fichier puis
- vérifier les path pour firefox
- commenter la ligne
export DISPLAY=:1.
- si vous souhaitez tester une version bien précise d'ofbiz, pensez à commenter la mise à jours d'ofbiz


