Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Selenium » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 3 : Ligne 3 :
=== Introduction ===
=== Introduction ===


Les tests de Selenium pour Pleade ont été réalisés principalement durant le mois 02/2013.
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 ===


La versions ajournée de pleade-libre a été appelée {{path|pleade-libre-mootools-v1.4}}.
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 disposibles :
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.