Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation. Pour tester la présence d'une balise par son ID :
$this->assertQuery('#tag-id');
Vous pouvez préciser le nom de la balise. Exemple pour un formulaire :
$this->assertQuery('form#tag-id');
Tester la valeur d'un champ INPUT :
$this->assertQuery('input#input_id[value="my_value"]');
Il faut noter que si votre valeur contient des espaces, la requête renverra false. Pour contourner ce problème, il faut utiliser une correspondance de mot (~=
) :
// Test d'une balise INPUT contenant "my value"
$this->assertQuery('input#input_id[value~="my"]');
$this->assertQuery('input#input_id[value~="value"]');
Attention cependant, si votre INPUT contient "my little value", le test passera.
Tester la valeur sélectionnée dans un SELECT :
$this->assertQuery('select#select-id option[value="my_value"][selected="selected"]');
Tester l'existence d'un lien pointant sur une URL précise :
$this->assertQuery('a[href="/my/url"]');
Tester le contenu d'un DIV :
$this->assertQueryContentContains('div#div-id', 'content');
Ajouter un commentaire