/[openfoncier]/trunk/tests/README.txt
ViewVC logotype

Annotation of /trunk/tests/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1649 - (hide annotations)
Thu Apr 11 16:16:19 2013 UTC (11 years, 9 months ago) by fmichon
File MIME type: text/plain
File size: 2220 byte(s)
Ajout d'un dossier tests pour la gestion des tests fonctionnels

1 fmichon 1649 Tests fonctionnels
2     ==================
3    
4     Installation
5     ------------
6    
7     Pour l'enregistrement des tests depuis Firefox, les extensions suivantes doivent
8     être installées :
9    
10     * Selenium IDE
11     * Selenium IDE : PHP Formatters
12    
13     Pour rejouer les tests en mode autonome :
14    
15     Depuis les dépôts
16     * phpunit
17     * phpunit-selenium
18    
19     A installer manuellement
20     * Selenium-server : depuis www.seleniumhq.org
21     * copier le .jar dans /opt
22     * depuis /usr/local/bin : echo "java -jar /opt/selenium-server-standalone-X.X.X.jar" > selenium-server && chmod +x selenium-server
23    
24    
25     Utilisation
26     -----------
27    
28     Enregistrer son test et l'exporter en php, ou étendre la classe BaseTestCase
29     depuis base.php.
30    
31     Pour le rejouer :
32    
33     * lancer selenium-server
34     * executer : phpunit testMyUseCase.php
35    
36     Lorsque qu'on effectue des actions redondantes, les rajouter dans le fichier base.php.
37    
38    
39     Convention de nommage
40     ---------------------
41    
42     * Un ficher par ticket fonctionnel, une méthode par fonctionnalité
43     * Convention de nommage :
44     * des fichiers : testMonCasDutilisation.php
45     * des classes : MonCasDutilisation
46    
47    
48     Exemple
49     -------
50    
51     Regarder la structure de testConnexionAdmin.php
52    
53    
54     API
55     ---
56    
57     La structure des tests respecte l'API de PHPUnit (setUp, testMyMethod1, testMyMethod2, [...], tearDown).
58    
59    
60     Bonnes pratiques (à compléter au fur et à mesure)
61     -------------------------------------------------
62    
63     * Privilégier le $this->clickAndWait plutôt qu'un $this->click puis un $this->waitPageToLoad('nnn')
64     * Pour simuler un clic sur un lien dont la valeur est unique dans la page : $this->clickAndWait("link=Mon lien")
65     * Pour simuler un clic sur un bouton (input) : $this->clickAndWait("//input[@value='Modifier']")
66     * Si la commande $this->type() ne fonctionne pas sur un champ, il faut verifier le maxlenght et le size de l'input. Si les attributs sont à -1, utiliser les function setMax et setTaille de la class pour changer les valeurs.
67     * Pour tester l'attribut d'un élèment : $this->verifyAttribute('//Mon élèment[@attribut pour reconnaitre="valeur attr"]@Attribut à tester', 'valeur de l'attribut à tester);
68     par exemple tester l'attribut type de l'input d'id=pwd : $this->verifyAttribute('//input[@id="pwd"]@type', 'hidden');
69    
70    

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26