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

Contents of /trunk/tests/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1693 - (show annotations)
Mon Apr 15 16:18:40 2013 UTC (11 years, 9 months ago) by fmichon
File MIME type: text/plain
File size: 2405 byte(s)
Documentation du fichier config.xml

1 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 * ajouter le fichier .php au bon endroit dans le fichier config.xml pour
35 qu'il soit jouer dans la suite
36 * executer : phpunit testMyUseCase.php
37
38 Lorsque qu'on effectue des actions redondantes, les rajouter dans le fichier base.php.
39
40 Pour jouer la suite il suffit de lancer : ::
41
42 phpunit -c config.xml
43
44
45 Convention de nommage
46 ---------------------
47
48 * Un ficher par ticket fonctionnel, une méthode par fonctionnalité
49 * Convention de nommage :
50 * des fichiers : testMonCasDutilisation.php
51 * des classes : MonCasDutilisation
52
53
54 Exemple
55 -------
56
57 Regarder la structure de testConnexionAdmin.php
58
59
60 API
61 ---
62
63 La structure des tests respecte l'API de PHPUnit (setUp, testMyMethod1, testMyMethod2, [...], tearDown).
64
65
66 Bonnes pratiques (à compléter au fur et à mesure)
67 -------------------------------------------------
68
69 * Privilégier le $this->clickAndWait plutôt qu'un $this->click puis un $this->waitPageToLoad('nnn')
70 * Pour simuler un clic sur un lien dont la valeur est unique dans la page : $this->clickAndWait("link=Mon lien")
71 * Pour simuler un clic sur un bouton (input) : $this->clickAndWait("//input[@value='Modifier']")
72 * 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.
73 * 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);
74 par exemple tester l'attribut type de l'input d'id=pwd : $this->verifyAttribute('//input[@id="pwd"]@type', 'hidden');
75
76

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26