1 |
<?php |
<?php |
2 |
/** |
/** |
3 |
* |
* Ce script contient la déclaration des classes BaseTesCase et Base2TestCase. |
4 |
* |
* |
5 |
* @package openfoncier |
* @package openfoncier |
6 |
* @version SVN : $Id$ |
* @version SVN : $Id$ |
11 |
protected function setUp() { |
protected function setUp() { |
12 |
$this->setBrowser("firefox"); |
$this->setBrowser("firefox"); |
13 |
$this->setBrowserUrl("http://localhost/"); |
$this->setBrowserUrl("http://localhost/"); |
14 |
$this->setSleep(1); |
//$this->setSleep(1); |
15 |
} |
} |
16 |
|
|
17 |
protected function tearDown() { |
protected function tearDown() { |
89 |
class Base2TestCase extends PHPUnit_Extensions_Selenium2TestCase { |
class Base2TestCase extends PHPUnit_Extensions_Selenium2TestCase { |
90 |
|
|
91 |
/** |
/** |
92 |
|
* Url de base |
93 |
|
* @var string |
94 |
|
*/ |
95 |
|
var $url = "openads/"; |
96 |
|
|
97 |
|
/** |
98 |
|
* Chemin dossier des screenshots |
99 |
|
* @var string |
100 |
|
*/ |
101 |
|
var $screenshotPath = '/var/www/openads/tests/screenshots/'; |
102 |
|
|
103 |
|
/** |
104 |
|
* Option capture d'écran |
105 |
|
* @var boolean |
106 |
|
*/ |
107 |
|
var $screenshotOnFailureAndError = true; |
108 |
|
|
109 |
|
/** |
110 |
* Cette méthode est appelée avant le lancement de chaque test |
* Cette méthode est appelée avant le lancement de chaque test |
111 |
* (fonctionnalité). |
* (fonctionnalité). |
112 |
*/ |
*/ |
113 |
protected function setUp() { |
protected function setUp() { |
114 |
// On positionne le navigateur |
// On positionne le navigateur |
115 |
$this->setBrowser("firefox"); |
$this->setBrowser("firefox"); |
116 |
//$this->setBrowser("chrome"); |
//$this->setBrowser("chrome"); |
123 |
* (fonctionnalité). |
* (fonctionnalité). |
124 |
*/ |
*/ |
125 |
protected function tearDown() { |
protected function tearDown() { |
126 |
// |
|
127 |
|
// Récupère le statut |
128 |
|
$status = $this->getStatus(); |
129 |
|
// Si l'option capture d'écran est activé et qu'il y a une erreur(error) |
130 |
|
// ou un echec(failure) |
131 |
|
if ($this->screenshotOnFailureAndError === true |
132 |
|
&& ($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR |
133 |
|
|| $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE)) { |
134 |
|
// Si c'est une erreur |
135 |
|
if ($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR) { |
136 |
|
$startFilename = "error_"; |
137 |
|
} |
138 |
|
// Si c'est un echec |
139 |
|
if ($status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) { |
140 |
|
$startFilename = "failure_"; |
141 |
|
} |
142 |
|
// Nom de l'image |
143 |
|
$filename = $startFilename.$this->getName()."_".date("Ymd_His").".png"; |
144 |
|
// Ajout de l'image |
145 |
|
file_put_contents($this->screenshotPath.$filename, |
146 |
|
$this->currentScreenshot()); |
147 |
|
} |
148 |
} |
} |
149 |
|
|
150 |
/** |
/** |
151 |
* Cette méthode permet de connecter l'utilisateur à l'application et de |
* Cette méthode permet de connecter l'utilisateur à l'application. |
|
* vérifier que la connecion s'est bien déroulée. |
|
152 |
*/ |
*/ |
153 |
protected function connect($login, $password) { |
protected function connect($login, $password) { |
154 |
// On ouvre l'url openexemple |
// On ouvre l'url openexemple |
155 |
$this->url("openads/"); |
$this->url($this->url); |
156 |
// On saisit le login dans le champ login |
// On saisit le login dans le champ login |
157 |
$this->byName("login")->value($login); |
$this->byName("login")->value($login); |
158 |
// On saisit le mot de passe dans le champ mot de passe |
// On saisit le mot de passe dans le champ mot de passe |
162 |
} |
} |
163 |
|
|
164 |
/** |
/** |
165 |
* Cette méthode permet de déconnecter l'utilisateur et de vérifier que la |
* Cette méthode permet de déconnecter l'utilisateur. |
|
* déconnexion s'est bien déroulée. |
|
166 |
*/ |
*/ |
167 |
protected function deconnect() { |
protected function deconnect() { |
168 |
// On clique sur le lien de déconnexion |
// On clique sur le lien de déconnexion |
194 |
// On se déconnecte |
// On se déconnecte |
195 |
$this->deconnect(); |
$this->deconnect(); |
196 |
// Réduit le temps d'attente lors de la recherche d'élément |
// Réduit le temps d'attente lors de la recherche d'élément |
197 |
$this->timeouts()->implicitWait(0); |
$this->timeouts()->implicitWait(240); |
198 |
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
// On vérifie qu'il n'y a pas d'erreur sur l'élément affiché |
199 |
$this->verifynoerrors(); |
$this->verifynoerrors(); |
200 |
// On vérifie qu'un message nous indique que la session est terminée |
// On vérifie qu'un message nous indique que la session est terminée |
221 |
// On vérifie la présence du message d'erreur de base de données |
// On vérifie la présence du message d'erreur de base de données |
222 |
try { |
try { |
223 |
$this->assertNotContains("Erreur de base de données. Contactez votre administrateur.", $source); |
$this->assertNotContains("Erreur de base de données. Contactez votre administrateur.", $source); |
224 |
|
$this->assertNotContains("Erreur de base de donnees. Contactez votre administrateur.", $source); |
225 |
} catch (PHPUnit_Framework_AssertionFailedError $e) { |
} catch (PHPUnit_Framework_AssertionFailedError $e) { |
226 |
$this->fail("Failed asserting that the source does not contain \"Erreur de base de données\"."); |
$this->fail("Failed asserting that the source does not contain \"Erreur de base de données\"."); |
227 |
} |
} |