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
 
(19 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
== Selenium ==
== Selenium ==
=== Tester un site ===
Le plug-in File Logging permet à Selenium IDE de générer un fichier de
journalisation, aussi appelé logs.
Les logs sont consignés dans un fichier texte {{path|$SELENIUM_TESTS/results/logs/*.log}}.
Un fichier de logs est définit dans Selenium IDE :
<syntaxhighlight lang="bash">
Barre de menu
  >> Entrée "Options"
  >> Fenêtre de dialogue "Options Selenium IDE"
  >> Onglet "FileLogging"
  >> Champs de saisie "Log Fichier"
</syntaxhighlight>
 
Par exemple, avec la valeur
{{path|$SELENIUM_TESTS/results/logs/tests.log}}.
Les logs de Selenium indiquent le changement de cas de tests :
<syntaxhighlight lang="bash">
2013-03-06 10:44:23 [info] Changed test case
</syntaxhighlight>
Et chaque test débute par un titre :
<syntaxhighlight lang="bash">
2013-03-06 10:44:29 [info] echo: Visionneuse
</syntaxhighlight>
Suivi du nom du fichier de tests en cours de lecture :
<syntaxhighlight lang="bash">
2013-03-06 10:44:30 [info] echo: fichier : pl-7.0-img-viewer.html
</syntaxhighlight>
Chaque commande du test est indiquée lorsque le niveau de journalisation
a pour valeur "Info" :
<syntaxhighlight lang="bash">
2013-03-06 10:44:37 [info] Executing: |echo | ${currentCote} |  |
2013-03-06 10:44:37 [info] echo: SS_Y_445
</syntaxhighlight>
Soit un site d'URL demo.pleade.com.
Le fichier de journalisation doit être définit :
{{path|$SELENIUM_TESTS/results/logs/host-domain-tld.log}}.
Par exemple : {{path|$SELENIUM_TESTS/results/logs/demo-pleade-com.log}}.
XXXXXXXXXXXXXXXXXXXXX
Les fichiers de résultats portent sur une suite de tests ou sur un cas de test.
Ils se définissent à l'aide de Selenium IDE :
<syntaxhighlight lang="bash">
Barre de menu
  >> Fichier
  >> Export test case results... ou Export test suite results...
</syntaxhighlight>
La momenclature des fichiers de résultats est la suivante :
* pour le fichier de résultat de la suite de tests : {{path|$SELENIUM_TESTS/results/host-domain-tld-results.html}};
* pour un fichier de résultat de cas de tests : {{path|$SELENIUM_TESTS/results/host-domain-tld-$case-results.html}}; où {{var|$case}} représente le nom du cas de tests.
Par exemple, pour un site d'URL demo.pleade.com,
on définira le fichier de résultats de la suite de tests
{{path|$SELENIUM_TESTS/results/demo-pleade-com-results.html}}
et éventuellement un ensemble de fichiers de résultats de cas de tests
dont les noms pourraient être :
{{path|demo-pleade-com-setEnv-results.html}}, {{path|demo-pleade-com-index-results.html}},
{{path|demo-pleade-com-ead-publish-form-results.html}}, ...
Les répertoires {{path|pleade-*}} contiennent les résultats des tests.
Ainsi, par exemple pour pleade-libre,
les résultats de tests obtenus sont les suivant :
<syntaxhighlight lang="bash">
$ tree -L 1 $SELENIUM_TESTS/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
</syntaxhighlight>


=== 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 mis en oeuvre sont :
 
* Pleade 3.5-dev daté au 2013-02-22;
* la librairie Mootools 1.4.5;
* Firefox 18.0.2;
* [http://docs.seleniumhq.org/download/ Selenium IDE] 1.10.0;
* le plug-in File Logging 2.25;
* le plug-in Test Results 1.10;
* le plug-in Selenium Expert 0.2.
 
Les plug-ins sont disponibles sur [https://addons.mozilla.org/fr/firefox/collections/samit-badle/samits-selenium-ide-plugins/ Samit's Selenium IDE Plugins].
 
 
=== Informations à propos de cet article ===


Les outils mise en oeuvre sont :
Les tests sont disponibles dans le projet pleade-ajlsm, disponible dans le repository SVN.


* Pleade 3.5-dev daté au 2013-02-22
La variable {{var|$SELENIUM_TESTS}} représente le chemin absolu pointant sur le répertoire racine {{path|tests-selenium}} du projet pleade-ajlsm exporté dans un répertoire de travail; par exemple, {{path|/home/greg/workspace/pleade-ajlsm/tests-selenium}}.
* 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 ===
=== 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 145 :
├── 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 : à confirmer.
NOTE [RG] : à confirmer.




Ligne 46 : Ligne 165 :
=== L'arborescence générale ===
=== L'arborescence générale ===


<syntaxhighlight lang="bash">$ tree -L 1 tests-selenium/
<syntaxhighlight lang="bash">
$ tree -L 1 $SELENIUM_TESTS/
tests-selenium/
tests-selenium/
├── config           
├── config           
├── docs
├── docs
├── README.txt
├── results
├── results
└── tests</syntaxhighlight>
└── tests
</syntaxhighlight>




Ligne 62 : Ligne 182 :


Les répertoires {{path|pleade-*}} contiennent les fichiers de configuration à installer.
Les répertoires {{path|pleade-*}} contiennent les fichiers de configuration à installer.
Le répertoire pleade-libre-mootools-v1.4 est la version de pleade-libre  
Le répertoire {{path|pleade-libre-mootools-v1.4}} est la version de pleade-libre ajournée avec la librairie mootools-v1.4.
ajournée avec la librairie mootools-v1.4.


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ tree -L 1 tests-selenium/config/
$ tree -L 1 $SELENIUM_TESTS/config/
tests-selenium/config/
tests-selenium/config/
├── 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 79 : Ligne 199 :
==== La documentation ====
==== La documentation ====


Elle est constituée du fichier {{path|README.txt}}, disponible à la racine du projet,
Elle est des fichiers du répertoire {{path|docs}} :
ainsi que des fichiers du répertoire {{path|docs}} :
 
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ tree -L 1 tests-selenium/docs/
$ tree -L 1 $SELENIUM_TESTS/docs/
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, dont les tests pourraient refléter le contenu.
dont les tests pourraient refléter le contenu.
* Le document {{path|manuel_Pleade.pdf}} donne quelques indications pour l'utilisation de Pleade. Ce document n'est pas à jour.
Le document {{path|manuel_Pleade.pdf}} donne quelques indications pour l'utilisation
de Pleade. Ce document n'est pas à jour.


    
    
==== Les tests ====
==== Les tests ====


<syntaxhighlight lang="bash">$ tree -L 1 tests-selenium/tests/
<syntaxhighlight lang="bash">
$ tree -L 1 $SELENIUM_TESTS/tests/
tests-selenium/tests/
tests-selenium/tests/
├── pe-1.0-setEnv.html
├── pe-1.0-setEnv.html
Ligne 115 : Ligne 235 :
├── 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 121 : Ligne 242 :
La nomenclature des fichiers est la suivante :
La nomenclature des fichiers est la suivante :


* préfixe : pl (pleade-libre), plm (pleade-libre-mootools), pe (pleade-entreprise);
* préfixe : pl pour pleade-libre, plm pour pleade-libre-mootools), pe pour pleade-entreprise;
* numéro : reflète l'ordre d'un sénario d'utilisation typique de Pleade.
* 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
* suffixe : indique un sous-sénario; qui peut faire intervenir une ou plusieurs page d'un site Web.   
    page d'un site Web.   




Ligne 137 : Ligne 257 :
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  
Tomcat étant important relativement aux temps de chargement des pages suivantes,
Apache 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  
le test charge la page de garde; le temps de chargement des pages suivantes  
peut ainsi être minimisé.  
peut ainsi être minimisé.  
Ligne 151 : Ligne 271 :
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 178 : Ligne 297 :
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 :  
TODO [RG] :  
  * L'arbre situé à droite du formulaire  de recherche est à tester.
* L'arbre situé à droite du formulaire  de recherche est à tester.




Ligne 189 : Ligne 307 :


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 :  
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 :  
 
  * à propos de la description des résultats de recherche,  
FIXME [RG] :
    présent en haut et en bas de la page,
* à 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;  
    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;
  * avec Pleade libre, le bouton "Effacer" ne fonctionne pas dans certains cas,
* certaines configurations n'ont pas été testées.
    mais aucun test ne l'indique.
  * certaines configurations n'ont pas été testées.
    
    
    
    
Ligne 207 : Ligne 322 :
===== Le test pl-4.3-recherche-complexe.html =====
===== Le test pl-4.3-recherche-complexe.html =====


TODO :  
TODO [RG] :
  * Ce test a pour but de décrire les recherches croisées.   
* Ce test a pour but de décrire les recherches croisées.   
      
      


Ligne 218 : Ligne 333 :
Il termine par tester la déconnexion de cet utilisateur.
Il termine par tester la déconnexion de cet utilisateur.


TODO :  
TODO [RG] : La déconnexion à l'aide du bouton "Déconnexion".
  * La déconnexion à l'aide du bouton "Déconnexion".




Ligne 225 : Ligne 339 :
===== 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 238 : Ligne 350 :
Ce test couvre la description de certains éléments de la page.
Ce test couvre la description de certains éléments de la page.


TODO :  
TODO [RG] :
  * tester les derniers éléments de la page non couvert par le test.
* tester les derniers éléments de la page non couvert par le test;
  * tester les fonctionnalités de la page.
* tester les fonctionnalités de la page.




Ligne 248 : Ligne 360 :
Ce fichier contient les tests pour la visionneuse Jpeg.
Ce fichier contient les tests pour la visionneuse Jpeg.


FIXME : Il existe une incertitude concernant les dimensions de l'image  
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 {{path|pl-7.0-img-viewer-bis.html}}.     
  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 {{path|pl-7.0-img-viewer-bis.html}}.     
      
      
  Les fichiers de résultats de tests  
Les fichiers de résultats de tests {{path|results/pleade-libre/pl-7.0-img-viewer-all-results.html}} et {{path|results/pleade-entreprise/pl-7.0-img-viewer-all-results.html}} avaient été obtenus en incluant le test {{path|pl-7.0-img-viewer-bis.html}} dans le test {{path|pl-7.0-img-viewer.html}}.
  {{path|results/pleade-libre/pl-7.0-img-viewer-all-results.html}}  
  et {{path|results/pleade-entreprise/pl-7.0-img-viewer-all-results.html}}
  avaient été obtenus en incluant le test {{path|pl-7.0-img-viewer-bis.html}}
  dans le test {{path|pl-7.0-img-viewer.html}}.
      
      
TODO :  
TODO [RG] :
  * le scroll (action de la roulette de la souris) sur l'image principale
* le scroll (action de la roulette de la souris) sur l'image principale qui permet de zoomer;
    qui permet de zoomer;
* les tests sont incomplets dans le cas d'un ensemble d'images;
  * les tests sont incomplets dans le cas d'un ensemble d'images;
* le masque de l'aperçu;
  * le masque de l'aperçu;
* la liste de vignettes du menu de navigation;
  * la liste de vignettes du menu de navigation;
* la grille;
  * la grille;
* le slider de la barre de navigation.
  * le slider de la barre de navigation.




Ligne 289 : Ligne 387 :
porte-documents lui-même.
porte-documents lui-même.


NOTE : le fichier de test {{path|pl-8.1-all-basket.html}} montre une disfonctionnalité,
NOTE [RG] : le fichier de test {{path|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 {{path|pl-8.1-pre-basket.html}} et {{path|pl-8.2-basket.html}}.
  ainsi que la raison pour laquelle le test relatif au porte-documents
  a été scindé en deux sous-tests {{path|pl-8.1-pre-basket.html}} et {{path|pl-8.2-basket.html}}.
    
    
FIXME : le téléchargement du document ZIP n'est pas testé  
FIXME [RG] : le téléchargement du document ZIP n'est pas testé car, bien que le paramètre {{var|eadeac-active-basket-zip}} du fichier {{path|buid/exe/parameter.xconf}} ait pour valeur true, l'icône n'apparaît pas dans l'interface de Pleade entreprise.
  car, bien que le paramètre {{var|eadeac-active-basket-zip}}
  du fichier {{path|buid/exe/parameter.xconf}} ait pour valeur true,
  l'icône n'apparaît pas dans l'interface de Pleade entreprise.
    
    
TODO : le bug est a indiqué dans Mantis.   
TODO [RG] : le bug est a indiqué dans Mantis.   
    
    


Ligne 308 : Ligne 401 :
=== Les résultats des tests ===
=== Les résultats des tests ===


<syntaxhighlight lang="bash">$ tree -L 1 results/
<syntaxhighlight lang="bash">
$ tree -L 1 $SELENIUM_TESTS/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 permet à Selenium IDE de générer un fichier de  
journalisation, aussi appelé logs.
journalisation, aussi appelé logs.


Ligne 321 : Ligne 416 :
Ce fichier de logs est définit dans Selenium IDE :
Ce fichier de logs est définit dans Selenium IDE :


<syntaxhighlight lang="bash">
Barre de menu  
Barre de menu  
   >> Entrée "Options"  
   >> Entrée "Options"  
Ligne 326 : Ligne 422 :
   >> Onglet "FileLogging"
   >> Onglet "FileLogging"
   >> Champs de saisie "Log Fichier"
   >> Champs de saisie "Log Fichier"
</syntaxhighlight>
    
    
Par exemple, avec la valeur  
Par exemple, avec la valeur  
{{path|/home/greg/workspace/pleade-ajlsm/tests-selenium/results/logs/tests.log}}.
{{path|$SELENIUM_TESTS/results/logs/tests.log}}.
 
Les logs de Selenium indiquent le changement de cas de tests :
 
<syntaxhighlight lang="bash">
2013-03-06 10:44:23 [info] Changed test case
</syntaxhighlight>


Les logs de Selenium indique le changement de cas de tests :
Et chaque test débute par un titre :
<syntaxhighlight lang="bash">2013-03-06 10:44:23 [info] Changed test case</syntaxhighlight>


Et chaque test début par un titre :
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">2013-03-06 10:44:29 [info] echo: Visionneuse</syntaxhighlight>
2013-03-06 10:44:29 [info] echo: Visionneuse
</syntaxhighlight>


Suivi du nom du fichier de tests en cours de lecture :
Suivi du nom du fichier de tests en cours de lecture :
<syntaxhighlight lang="bash">2013-03-06 10:44:30 [info] echo: fichier : pl-7.0-img-viewer.html</syntaxhighlight>
 
<syntaxhighlight lang="bash">
2013-03-06 10:44:30 [info] echo: fichier : pl-7.0-img-viewer.html
</syntaxhighlight>


Chaque commande du test est indiquée lorsque le niveau de journalisation
Chaque commande du test est indiquée lorsque le niveau de journalisation
a pour valeur "Info"  
a pour valeur "Info" :
<syntaxhighlight lang="bash">2013-03-06 10:44:37 [info] Executing: |echo | ${currentCote} |  |
 
2013-03-06 10:44:37 [info] echo: SS_Y_445</syntaxhighlight>
<syntaxhighlight lang="bash">
2013-03-06 10:44:37 [info] Executing: |echo | ${currentCote} |  |
2013-03-06 10:44:37 [info] echo: SS_Y_445
</syntaxhighlight>




Ligne 350 : Ligne 459 :
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 $SELENIUM_TESTS/results/pleade-libre
results/pleade-libre
results/pleade-libre
├── pl-1.0-setEnv-results.html
├── pl-1.0-setEnv-results.html
Ligne 367 : Ligne 477 :
├── 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>
 


=== A savoir ===
=== A savoir ===
Ligne 375 : Ligne 484 :
==== Selenium IDE ====
==== Selenium IDE ====


Les variables définies dans Selenium IDE ne peuvent pas contenir de  
Les variables définies dans Selenium IDE ne peuvent pas contenir de caractère tiret.
  caractère tiret.
    
    
==== Plug-in Page Coverage ====
==== Plug-in Page Coverage ====


  Le plug-in Page Coverage est relativement intéressant,  
Le plug-in Page Coverage est relativement intéressant,  
  mais n'est pas utilisable avec Firefox 18.0,  
mais n'est pas utilisable avec Firefox 18.0,  
  mais seulement avec les versions antérieure à la version 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 :
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>
==== 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
    {{path|build/exe/module-eadeac/datadir/*.lck}},
    définit par la configuration.
 
  Dans les logs :
 
<syntaxhighlight lang="bash">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 :
 
  * dans un premier temps, on supprime le fichier de lock {{path|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 {{path|build/exe/module-eadeac/datadir}},
    ainsi que les sous-répertoires {{path|temp}} et {{path|work}}
    du répertoire {{path|$TOMCAT_HOME/webapps}}.
  * on redémarre tomcat.
 
 
[[category:Tests]]

Dernière version du 14 mai 2013 à 08:52

Tester un site

[modifier | modifier le wikicode]

Le plug-in File Logging permet à Selenium IDE de générer un fichier de journalisation, aussi appelé logs.

Les logs sont consignés dans un fichier texte $SELENIUM_TESTS/results/logs/*.log. Un 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 $SELENIUM_TESTS/results/logs/tests.log.

Les logs de Selenium indiquent le changement de cas de tests :

2013-03-06 10:44:23 [info] Changed test case

Et chaque test débute 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

Soit un site d'URL demo.pleade.com.

Le fichier de journalisation doit être définit :

$SELENIUM_TESTS/results/logs/host-domain-tld.log.

Par exemple : $SELENIUM_TESTS/results/logs/demo-pleade-com.log.


XXXXXXXXXXXXXXXXXXXXX


Les fichiers de résultats portent sur une suite de tests ou sur un cas de test. Ils se définissent à l'aide de Selenium IDE :

Barre de menu
  >> Fichier
  >> Export test case results... ou Export test suite results...

La momenclature des fichiers de résultats est la suivante :

  • pour le fichier de résultat de la suite de tests : $SELENIUM_TESTS/results/host-domain-tld-results.html;
  • pour un fichier de résultat de cas de tests : $SELENIUM_TESTS/results/host-domain-tld-$case-results.html; où $case représente le nom du cas de tests.

Par exemple, pour un site d'URL demo.pleade.com, on définira le fichier de résultats de la suite de tests $SELENIUM_TESTS/results/demo-pleade-com-results.html et éventuellement un ensemble de fichiers de résultats de cas de tests dont les noms pourraient être : demo-pleade-com-setEnv-results.html, demo-pleade-com-index-results.html, demo-pleade-com-ead-publish-form-results.html, ...


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 $SELENIUM_TESTS/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

Les tests Selenium IDE pour Pleade ont été réalisés principalement durant le mois de février 2013.

Les outils mis 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 2.25;
  • le plug-in Test Results 1.10;
  • le plug-in Selenium Expert 0.2.

Les plug-ins sont disponibles sur Samit's Selenium IDE Plugins.


Informations à propos de cet article

[modifier | modifier le wikicode]

Les tests sont disponibles dans le projet pleade-ajlsm, disponible dans le repository SVN.

La variable $SELENIUM_TESTS représente le chemin absolu pointant sur le répertoire racine tests-selenium du projet pleade-ajlsm exporté dans un répertoire de travail; par exemple, /home/greg/workspace/pleade-ajlsm/tests-selenium.


Mise à jour de la librairie Mootools

[modifier | modifier le wikicode]

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

[modifier | modifier le wikicode]
$ tree -L 1 $SELENIUM_TESTS/
tests-selenium/
├── config           
├── docs
├── results
└── tests


La configuration

[modifier | modifier le wikicode]

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 $SELENIUM_TESTS/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

[modifier | modifier le wikicode]

Elle est des fichiers du répertoire docs :

$ tree -L 1 $SELENIUM_TESTS/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.


$ tree -L 1 $SELENIUM_TESTS/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 pour pleade-libre, plm pour pleade-libre-mootools), pe pour 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
[modifier | modifier le wikicode]

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 Apache 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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

TODO [RG] :

  • Ce test a pour but de décrire les recherches croisées.


Le test pl-5.0-login.html
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

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
[modifier | modifier le wikicode]

Le test de l'historique des recherches.


Les résultats des tests

[modifier | modifier le wikicode]
$ tree -L 1 $SELENIUM_TESTS/results/
results/
├── logs
├── pleade-entreprise
├── pleade-libre
└── pleade-libre-mootools

Le plug-in File Logging 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 $SELENIUM_TESTS/results/logs/tests.log.

Les logs de Selenium indiquent le changement de cas de tests :

2013-03-06 10:44:23 [info] Changed test case

Et chaque test débute 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 $SELENIUM_TESTS/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

Les variables définies dans Selenium IDE ne peuvent pas contenir de caractère tiret.

Plug-in Page Coverage

[modifier | modifier le wikicode]

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