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

Contents of /trunk/tests/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1649 - (show 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 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