Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Selenium
Selenium
Introduction
Les tests de Selenium pour Pleade ont été réalisés principalement durant le mois 02/2013.
Les outils mise en oeuvre sont :
- Pleade 3.5-dev daté au 2013-02-22
- la librairie Mootools 1.4.5
- Firefox 18.0.2
- Selenium IDE 1.10.0
- le plug-in File Logging 1.1
- le plug-in Test Results 1.10
- le plug-in Selenium Expert 0.2
Mise à jour de la librairie Mootools
La versions ajournée de pleade-libre a été appelée pleade-libre-mootools-v1.4.
Les répertoires et les fichiers concernés sont les suivants :
$ tree -L 1 theme/js/mootools/
theme/js/mootools/
├── mootools-core-1.3.1-nc.js
├── mootools-core-1.4.5-nc.js
├── mootools-more-1.3.1.1-nc.js
├── mootools-more-1.4.0.1-nc.js
└── README.mootools
$ tree -L 1 theme/js/pleade/common/util/
theme/js/pleade/common/util/
├── AjaxRequestHandler.js
├── displaySubgroup.js
├── HelpPanels.js
└── mootools-common.js
Les fichiers de la librairie Mootools sont utilisés par des feuilles de style XSL.
NOTE [RG] : à confirmer.
L'arborescence générale
$ tree -L 1 tests-selenium/
tests-selenium/
├── config
├── docs
├── README.txt
├── results
└── tests
La configuration
Les instances de Pleade et de Selenium IDE doivent adopter une certaine configuration afin que les tests se déroulent dans le contexte souhaité.
Les répertoires pleade-* contiennent les fichiers de configuration à installer. Le répertoire pleade-libre-mootools-v1.4 est la version de pleade-libre
ajournée avec la librairie mootools-v1.4.
$ tree -L 1 tests-selenium/config/
tests-selenium/config/
├── pleade-entreprise
├── pleade-libre
└── pleade-libre-mootools-v1.4
Un répertoire selenium-ide pourrait contenir un fichier javascript. Il permet de définir des fonctions javascript mises en oeuvre par Selenium IDE. Ce fichier n'est pas nécessaire à l'exécution des tests.
La documentation
Elle est constituée du fichier README.txt, disponible à la racine du projet, ainsi que des fichiers du répertoire docs :
$ tree -L 1 tests-selenium/docs/
tests-selenium/docs/
├── manuel_Pleade.pdf
└── test-recette.odt
Le document test-recette.odt est un cahier des charges, dont les tests pourraient refléter le contenu. Le document manuel_Pleade.pdf donne quelques indications pour l'utilisation de Pleade. Ce document n'est pas à jour.
Les tests
$ tree -L 1 tests-selenium/tests/
tests-selenium/tests/
├── pe-1.0-setEnv.html
├── pe-2.0-index.html
├── pe-7.0-img-viewer.html
├── pl-1.0-setEnv.html
├── pl-2.0-index.html
├── pl-3.0-ead-publish-form.html
├── pl-4.0-recherche-simple.html
├── pl-4.1-recherche.html
├── pl-4.2-recherche-resultats.html
├── pl-4.3-recherche-complexe.html
├── pl-5.0-login.html
├── pl-6.0-ead.html
├── pl-6.1-ead-manage.html
├── pl-7.0-img-viewer.html
├── pl-8.0-cdc.html
├── pl-8.1-pre-basket.html
├── pl-8.2-basket.html
├── pl-8.3-historic.html
└── plm-1.0-setEnv.html
L'ensemble des tests sont contenus dans le répertoire tests.
La nomenclature des fichiers est la suivante :
- préfixe : pl (pleade-libre), plm (pleade-libre-mootools), pe (pleade-entreprise);
- numéro : reflète l'ordre d'un sénario d'utilisation typique de Pleade;
- suffixe : indique un sous-sénario, qui peut faire intervenir une ou plusieurs page d'un site Web.
Les tests de création de l'environnement *-1.0-setEnv.html
Un test de création d'environnement permet de mettre en place l'environnement requis par Selenium IDE pour une version particulière de Pleade, telles que pleade-libre ou pleade-entreprise.
On choisira le test à exécuter en fonction de sa version de Pleade. Le test doit être exécuté au début d'une série de tests.
- pl-1.0-setEnv.html
- plm-1.0-setEnv.html
- ou pe-1.0-setEnv.html
Le temps nécessaire au chargement de la première page après le démarrage de Tomcat étant important relativement aux temps de chargement des pages suivantes, le test charge la page de garde; le temps de chargement des pages suivantes peut ainsi être minimisé.
Le test *-2.0-index.html
Il test la page d'accueil du site Web. Il décrit les pages disponibles pour un utilisateur non connecté. Les parties non décrites par ce test devraient l'être par les autres tests.
Le test pl-3.0-ead-publish-form.html
Il test la publication de documents XML-EAD. Il connecte l'utilisateur sous le compte admin. Ensuite, il test la sélection d'un dossier à publier, puis le publie.
Le test pl-4.0-recherche-simple.html
Test le formulaire de recherche simple proposé par le formulaire du menu secondaire disponible dès la page d'accueil. Il propose les différentes syntaxes possibles pour l'entrée du formulaire.
Le test pl-4.1-recherche.html
Ce test décrit principalement la page de recherche et en particulier le formulaire de recherche avancé. La dernière partie du test effectue une recherche basique. Il est complété par les tests pl-4.2-recherche-resultats.html et pl-4.3-recherche-complexe.html.
TODO [RG] : L'arbre situé à droite du formulaire de recherche est à tester.
Le test pl-4.2-recherche-resultats.html
Ce test couvre la page de résultats proposés en réponse à une recherche avancée, en particulier les trois formes de résultats disposibles : arbre, liste et tableau.
TODO [RG] :
* la complétion est a testée. * l'arbre à droite du formulaire de recherche n'a pas été testé.
FIXME [RG] :
* à propos de la description des résultats de recherche, présent en haut et en bas de la page, leurs éléments ont des identifiants (@id) identiques. * avec Pleade libre, le bouton "Effacer" ne fonctionne pas dans certains cas, mais aucun test ne l'indique. * certaines configurations n'ont pas été testées.
Le test pl-4.3-recherche-complexe.html
TODO [RG] :
* Ce test a pour but de décrire les recherches croisées.
Le test pl-5.0-login.html
Il test le système de connexion d'un utilisateur. Il connecte l'utilisateur par défaut : admin. Il termine par tester la déconnexion de cet utilisateur.
TODO [RG] :
* La déconnexion à l'aide du bouton "Déconnexion".
Le test pl-6.0-ead.html
Teste partiellement la page permettant de visualiser les documents XML-EAD. La partie gauche, qui contient l'arbre, n'est pas testée, l'ouverture d'une branche de l'arbre ne semble pas évidente à obtenir à partir de Selenium IDE. Cette page permet l'accès à la visionneuse.
Le test pl-6.1-ead-manage.html
Ce test couvre la description de certains éléments de la page.
TODO [RG] :
* tester les derniers éléments de la page non couvert par le test; * tester les fonctionnalités de la page.
Le test *-7.0-img-viewer.html
Ce fichier contient les tests pour la visionneuse Jpeg.
FIXME [RG] : Il existe une incertitude concernant les dimensions de l'image
principale puisqu'elles varient pour une taille d'écran donnée et les dimensions d'une fenêtre du navigateur donnée. Pour que le test "fonctionne", il est nécessaire de fixer les dimensions de la fenêtre du navigateur sans négliger l'espace occupé par les différentes barres (de navigation, personnelle, ...), ensuite il faut charger la visionneuse dans le navigateur, puis renseigner les valeurs des différentes dimensions de l'image principale et de finir de jouer le test. Ainsi, à défaut de trouver une solution simple, la partie délicate du test a été placée dans le fichier pl-7.0-img-viewer-bis.html. Les fichiers de résultats de tests results/pleade-libre/pl-7.0-img-viewer-all-results.html et results/pleade-entreprise/pl-7.0-img-viewer-all-results.html avaient été obtenus en incluant le test pl-7.0-img-viewer-bis.html dans le test pl-7.0-img-viewer.html.
TODO [RG] :
* le scroll (action de la roulette de la souris) sur l'image principale qui permet de zoomer; * les tests sont incomplets dans le cas d'un ensemble d'images; * le masque de l'aperçu; * la liste de vignettes du menu de navigation; * la grille; * le slider de la barre de navigation.
Le test pl-8.0-cdc.html
Les tests relatifs au cadre de classement.
Les tests pl-8.1-pre-basket.html et pl-8.2-basket.html :
Teste le porte-documents de l'utilisateur. Le test pl-8.1-pre-basket.html permet d'ajouter des documents au porte-documents; et le test pl-8.2-basket.html teste le porte-documents lui-même.
NOTE [RG] : le fichier de test pl-8.1-all-basket.html montre une disfonctionnalité,
ainsi que la raison pour laquelle le test relatif au porte-documents a été scindé en deux sous-tests pl-8.1-pre-basket.html et pl-8.2-basket.html.
FIXME [RG] : le téléchargement du document ZIP n'est pas testé
car, bien que le paramètre eadeac-active-basket-zip
du fichier buid/exe/parameter.xconf ait pour valeur true,
l'icône n'apparaît pas dans l'interface de Pleade entreprise.
TODO [RG] : le bug est a indiqué dans Mantis.
Le test pl-8.3-historic.html
Le test de l'historique des recherches.
Les résultats des tests
$ tree -L 1 results/
results/
├── logs
├── pleade-entreprise
├── pleade-libre
└── pleade-libre-mootools
Le plug-in File Logging 1.1 permet à Selenium IDE de générer un fichier de journalisation, aussi appelé logs.
Les logs sont consignés dans le fichier texte logs/tests.log. Ce fichier de logs est définit dans Selenium IDE :
Barre de menu
>> Entrée "Options" >> Fenêtre de dialogue "Options Selenium IDE" >> Onglet "FileLogging" >> Champs de saisie "Log Fichier"
Par exemple, avec la valeur /home/greg/workspace/pleade-ajlsm/tests-selenium/results/logs/tests.log.
Les logs de Selenium indique le changement de cas de tests :
2013-03-06 10:44:23 [info] Changed test case
Et chaque test début par un titre :
2013-03-06 10:44:29 [info] echo: Visionneuse
Suivi du nom du fichier de tests en cours de lecture :
2013-03-06 10:44:30 [info] echo: fichier : pl-7.0-img-viewer.html
Chaque commande du test est indiquée lorsque le niveau de journalisation a pour valeur "Info"
2013-03-06 10:44:37 [info] Executing: |echo | ${currentCote} | |
2013-03-06 10:44:37 [info] echo: SS_Y_445
Les répertoires pleade-* contiennent les résultats des tests.
Ainsi, par exemple pour pleade-libre, les résultats de tests obtenus sont les suivant :
$ tree -L 1 results/pleade-libre
results/pleade-libre
├── pl-1.0-setEnv-results.html
├── pl-2.0-index-results.html
├── pl-3.0-ead-publish-form-results.html
├── pl-4.0-recherche-simple-results.html
├── pl-4.1-recherche-results.html
├── pl-4.2-recherche-resultats-results.html
├── pl-4.3-recherche-complexe-results.html
├── pl-5.0-login-results.html
├── pl-6.0-ead-results.html
├── pl-6.1-ead-manage-results.html
├── pl-7.0-img-viewer-all-results.html
├── pl-7.0-img-viewer-results.html
├── pl-8.0-cdc-results.html
├── pl-8.1-pre-basket-results.html
├── pl-8.2-basket-results.html
└── pl-8.3-historic-results.html
A savoir
Selenium IDE
Les variables définies dans Selenium IDE ne peuvent pas contenir de caractère tiret.
Plug-in Page Coverage
Le plug-in Page Coverage est relativement intéressant, mais n'est pas utilisable avec Firefox 18.0, mais seulement avec les versions antérieure à la version 18.0. Ce plug-in peut provoquer une erreur lors du déroulement de certains tests :
error in page coverage highlight TypeError: element.style is indefined
En cas de message d'erreur lors de la publication de documents
Origine possible de l'erreur :
- manque de ressource : par exemple accès au disque dur ou garbage collector saturé;
- il existe une autre publication en cours;
- il existe un lock, concrétisé par un fichier build/exe/module-eadeac/datadir/*.lck,
définit par la configuration.
Dans les logs :
Error lockfile: context://module-eadeac/datadir/pleade_index.lck
- Tue Mar 05 09:31:28 CET 2013 **
Pour sortir de ce cas de figure :
- dans un premier temps, on supprime le fichier de lock pleade_index.lck
puis on vérifie à chaud si ce lock était bien à l'origine de l'erreur;
- dans un second temps, on arrête tomcat,
puis on supprime les répertoires build/exe/module-eadeac/datadir, ainsi que les sous-répertoires temp et work du répertoire $TOMCAT_HOME/webapps;
- on redémarre tomcat.