getName())."\r\n"; } public function onNotSuccessfulTest(Exception $e){ echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; parent::onNotSuccessfulTest($e); } /** * Test les informations retournés par le widget */ public function test_01_infos_profil() { // on se connecte à l'application en tant que qualificateur $this->login("qualif", "qualif"); // On vérifie les informations du widget $this->assertEquals("QUALIFICATEUR", $this->byCssSelector(".profil-infos-profil span.value")->text()); $this->assertEquals("Qualificateur", $this->byCssSelector(".profil-infos-nom span.value")->text()); // On se déconnecte $this->deconnect(); // on se connecte à l'application en tanque qualificateur $this->login("instr", "instr"); // On vérifie les informations du widget $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text()); $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text()); $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text()); // On se déconnecte $this->logout(); } /** * Test si la redirection est effectif */ public function test_02_redirection() { // On se connecte en tant que "consu" // !!! Attention on n'utilise pas la méthode login standard car // l'utilisateur est redirigé automatiquement vers un autre écran // sans voir le message de connexion !!! // On se connecte $this->connect("consu", "consu"); // Allonge le temps d'attente lors de la recherche d'élément $this->timeouts()->implicitWait(10000); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifynoerrors(); // On temporise pour laisser le temps au javascript de redirection // de faire son travail sleep(1); // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché $this->verifynoerrors(); // On vérifie que la redirection s'est bien faite par le fil d'Ariane $this->assertEquals("Demandes D'avis > En Cours", $this->byXPath("//div[3]/div/h2")->text()); // On se déconnecte $this->logout(); } } ?>