Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Selenium » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 3 : | Ligne 3 : | ||
=== Introduction === | === Introduction === | ||
Les tests | Les tests Selenium IDE pour Pleade ont été réalisés principalement durant le mois de février 2013. | ||
Les outils mise en oeuvre sont : | Les outils mise en oeuvre sont : | ||
* Pleade 3.5-dev daté au 2013-02-22 | * Pleade 3.5-dev daté au 2013-02-22; | ||
* la librairie Mootools 1.4.5 | * la librairie Mootools 1.4.5; | ||
* Firefox 18.0.2 | * Firefox 18.0.2; | ||
* Selenium IDE 1.10.0 | * Selenium IDE 1.10.0; | ||
* le plug-in File Logging 1.1 | * le plug-in File Logging 1.1; | ||
* le plug-in Test Results 1.10 | * le plug-in Test Results 1.10; | ||
* le plug-in Selenium Expert 0.2 | * le plug-in Selenium Expert 0.2. | ||
=== Mise à jour de la librairie Mootools === | === Mise à jour de la librairie Mootools === | ||
Une version ajournée de pleade-libre a été appelée {{path|pleade-libre-mootools-v1.4}}. | |||
Les répertoires et les fichiers concernés sont les suivants : | Les répertoires et les fichiers concernés sont les suivants : | ||
<syntaxhighlight lang="bash">$ tree -L 1 theme/js/mootools/ | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 theme/js/mootools/ | |||
theme/js/mootools/ | theme/js/mootools/ | ||
├── mootools-core-1.3.1-nc.js | ├── mootools-core-1.3.1-nc.js | ||
| Ligne 28 : | Ligne 29 : | ||
├── mootools-more-1.3.1.1-nc.js | ├── mootools-more-1.3.1.1-nc.js | ||
├── mootools-more-1.4.0.1-nc.js | ├── mootools-more-1.4.0.1-nc.js | ||
└── README.mootools</syntaxhighlight> | └── README.mootools | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash">$ tree -L 1 theme/js/pleade/common/util/ | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 theme/js/pleade/common/util/ | |||
theme/js/pleade/common/util/ | theme/js/pleade/common/util/ | ||
├── AjaxRequestHandler.js | ├── AjaxRequestHandler.js | ||
├── displaySubgroup.js | ├── displaySubgroup.js | ||
├── HelpPanels.js | ├── HelpPanels.js | ||
└── mootools-common.js</syntaxhighlight> | └── mootools-common.js | ||
</syntaxhighlight> | |||
Les fichiers de la librairie Mootools sont utilisés par des feuilles de | Les fichiers de la librairie Mootools sont utilisés par des feuilles de style XSL. | ||
style XSL. | |||
NOTE [RG] : à confirmer. | NOTE [RG] : à confirmer. | ||
| Ligne 46 : | Ligne 49 : | ||
=== L'arborescence générale === | === L'arborescence générale === | ||
<syntaxhighlight lang="bash">$ tree -L 1 tests-selenium/ | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 tests-selenium/ | |||
tests-selenium/ | tests-selenium/ | ||
├── config | ├── config | ||
| Ligne 52 : | Ligne 56 : | ||
├── README.txt | ├── README.txt | ||
├── results | ├── results | ||
└── tests</syntaxhighlight> | └── tests | ||
</syntaxhighlight> | |||
| Ligne 70 : | Ligne 75 : | ||
├── pleade-entreprise | ├── pleade-entreprise | ||
├── pleade-libre | ├── pleade-libre | ||
└── pleade-libre-mootools-v1.4</syntaxhighlight> | └── pleade-libre-mootools-v1.4 | ||
</syntaxhighlight> | |||
Un répertoire {{path|selenium-ide}} pourrait contenir un fichier javascript. | Un répertoire {{path|selenium-ide}} pourrait contenir un fichier javascript. | ||
| Ligne 85 : | Ligne 91 : | ||
tests-selenium/docs/ | tests-selenium/docs/ | ||
├── manuel_Pleade.pdf | ├── manuel_Pleade.pdf | ||
└── test-recette.odt</syntaxhighlight> | └── test-recette.odt | ||
</syntaxhighlight> | |||
Le document {{path|test-recette.odt}} est un cahier des charges, | Le document {{path|test-recette.odt}} est un cahier des charges, | ||
| Ligne 95 : | Ligne 102 : | ||
==== Les tests ==== | ==== Les tests ==== | ||
<syntaxhighlight lang="bash">$ tree -L 1 tests-selenium/tests/ | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 tests-selenium/tests/ | |||
tests-selenium/tests/ | tests-selenium/tests/ | ||
├── pe-1.0-setEnv.html | ├── pe-1.0-setEnv.html | ||
| Ligne 115 : | Ligne 123 : | ||
├── pl-8.2-basket.html | ├── pl-8.2-basket.html | ||
├── pl-8.3-historic.html | ├── pl-8.3-historic.html | ||
└── plm-1.0-setEnv.html</syntaxhighlight> | └── plm-1.0-setEnv.html | ||
</syntaxhighlight> | |||
L'ensemble des tests sont contenus dans le répertoire {{path|tests}}. | L'ensemble des tests sont contenus dans le répertoire {{path|tests}}. | ||
| Ligne 136 : | Ligne 145 : | ||
Le test doit être exécuté au début d'une série de tests. | Le test doit être exécuté au début d'une série de tests. | ||
* {{path|pl-1.0-setEnv.html}} | * {{path|pl-1.0-setEnv.html}}; | ||
* {{path|plm-1.0-setEnv.html}} | * {{path|plm-1.0-setEnv.html}}; | ||
* ou {{path|pe-1.0-setEnv.html}} | * ou {{path|pe-1.0-setEnv.html}}. | ||
Le temps nécessaire au chargement de la première page après le démarrage de | Le temps nécessaire au chargement de la première page après le démarrage de | ||
| Ligne 150 : | Ligne 159 : | ||
Il test la page d'accueil du site Web. | Il test la page d'accueil du site Web. | ||
Il décrit les pages disponibles pour un utilisateur non connecté. | Il décrit les pages disponibles pour un utilisateur non connecté. | ||
Les parties non décrites par ce test devraient | Les parties non décrites par ce test devraient l'être par les autres tests. | ||
l'être par les autres tests. | |||
| Ligne 177 : | Ligne 185 : | ||
et en particulier le formulaire de recherche avancé. | et en particulier le formulaire de recherche avancé. | ||
La dernière partie du test effectue une recherche basique. | La dernière partie du test effectue une recherche basique. | ||
Il est complété par les tests | Il est complété par les tests {{path|pl-4.2-recherche-resultats.html}} et {{path|pl-4.3-recherche-complexe.html}}. | ||
{{path|pl-4.2-recherche-resultats.html}} et {{path|pl-4.3-recherche-complexe.html}}. | |||
TODO [RG] : L'arbre situé à droite du formulaire de recherche est à tester. | TODO [RG] : L'arbre situé à droite du formulaire de recherche est à tester. | ||
| Ligne 187 : | Ligne 194 : | ||
Ce test couvre la page de résultats proposés en réponse à une recherche | 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 | avancée, en particulier les trois formes de résultats disponibles : arbre, liste et tableau. | ||
arbre, liste et tableau. | |||
TODO [RG] : | TODO [RG] : | ||
* la complétion est a testée. | * la complétion est a testée. | ||
* l'arbre à droite du formulaire de recherche n'a pas été testé. | * l'arbre à droite du formulaire de recherche n'a pas été testé. | ||
FIXME [RG] : | FIXME [RG] : | ||
* à propos de la description des résultats de recherche, | * à propos de la description des résultats de recherche, | ||
| Ligne 223 : | Ligne 230 : | ||
===== Le test pl-6.0-ead.html ===== | ===== Le test pl-6.0-ead.html ===== | ||
Teste partiellement la page permettant de visualiser | Teste partiellement la page permettant de visualiser les documents XML-EAD. | ||
les documents XML-EAD. | |||
La partie gauche, qui contient l'arbre, n'est pas testée, | La partie gauche, qui contient l'arbre, n'est pas testée, | ||
l'ouverture d'une branche de l'arbre ne semble pas évidente | l'ouverture d'une branche de l'arbre ne semble pas évidente à obtenir à partir de Selenium IDE. | ||
à obtenir à partir de Selenium IDE. | |||
Cette page permet l'accès à la visionneuse. | Cette page permet l'accès à la visionneuse. | ||
| Ligne 306 : | Ligne 311 : | ||
=== Les résultats des tests === | === Les résultats des tests === | ||
<syntaxhighlight lang="bash">$ tree -L 1 results/ | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 results/ | |||
results/ | results/ | ||
├── logs | ├── logs | ||
├── pleade-entreprise | ├── pleade-entreprise | ||
├── pleade-libre | ├── pleade-libre | ||
└── pleade-libre-mootools</syntaxhighlight> | └── pleade-libre-mootools | ||
</syntaxhighlight> | |||
Le plug-in File Logging 1.1 permet à Selenium IDE de générer un fichier de | Le plug-in File Logging 1.1 permet à Selenium IDE de générer un fichier de | ||
| Ligne 348 : | Ligne 355 : | ||
les résultats de tests obtenus sont les suivant : | les résultats de tests obtenus sont les suivant : | ||
<syntaxhighlight lang="bash">$ tree -L 1 results/pleade-libre | <syntaxhighlight lang="bash"> | ||
$ tree -L 1 results/pleade-libre | |||
results/pleade-libre | results/pleade-libre | ||
├── pl-1.0-setEnv-results.html | ├── pl-1.0-setEnv-results.html | ||
| Ligne 365 : | Ligne 373 : | ||
├── pl-8.1-pre-basket-results.html | ├── pl-8.1-pre-basket-results.html | ||
├── pl-8.2-basket-results.html | ├── pl-8.2-basket-results.html | ||
└── pl-8.3-historic-results.html</syntaxhighlight> | └── pl-8.3-historic-results.html | ||
</syntaxhighlight> | |||
| Ligne 382 : | Ligne 391 : | ||
Ce plug-in peut provoquer une erreur lors du déroulement de certains tests : | Ce plug-in peut provoquer une erreur lors du déroulement de certains tests : | ||
<syntaxhighlight lang="bash">error in page coverage highlight TypeError: element.style is indefined</syntaxhighlight> | <syntaxhighlight lang="bash"> | ||
error in page coverage highlight TypeError: element.style is indefined | |||
</syntaxhighlight> | |||
| Ligne 396 : | Ligne 407 : | ||
Dans les logs : | Dans les logs : | ||
<syntaxhighlight lang="bash">Error lockfile: context://module-eadeac/datadir/pleade_index.lck | <syntaxhighlight lang="bash"> | ||
- Tue Mar 05 09:31:28 CET 2013 **</syntaxhighlight> | Error lockfile: context://module-eadeac/datadir/pleade_index.lck | ||
- Tue Mar 05 09:31:28 CET 2013 ** | |||
</syntaxhighlight> | |||
Pour sortir de ce cas de figure : | Pour sortir de ce cas de figure : | ||
Version du 23 avril 2013 à 07:59
Selenium
Introduction
Les tests Selenium IDE pour Pleade ont été réalisés principalement durant le mois de février 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
Une version 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 disponibles : 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.