Bonjour,
Je suis en train de mettre en place des tests unitaires et fonctionnels sur un projet en Symfony2.
J'ai pour l'instant pu réussir à implémenter la plupart des tests que je souhaitais réaliser mais il me reste trois choses que je n'arrive pas à maitriser.

La première est de savoir comment je peux récupérer une valeur css d'une div. J'ai par exemple dans une div une couleur de background et je souhaiterai récupérer la valeur de ce code couleur afin de pouvoir le comparer avec celle attendue?

La seconde chose et qui pour l'instant me pose le plus de souci est de savoir comment on peut gérer l'AJAX avec le DomCrawler.
Je m'explique, sur une page web du projet, l'utilisateur rempli des champs et en ajax on va questionner un web service est affiché le résultat.
Comment je peux faire pour simuler ce comportement?

/**** Un peu plus d'informations ***/
Le code de mon template twig est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 <tr>
            <td><input type="text" class="atleastone-item valid_enter-key" id="nom" name="nom" value="" focus="focus" /></td>
            <td><input type="text" class="atleastone-item valid_enter-key" id="adresse" name="adresse" value="" /></td>
            <td class="span2"><input type="text" class="span11 atleastone-item valid_enter-key" id="codepostal" name="codepostal" value="" /></td>
            <td><input type="text" class="span12 atleastone-item valid_enter-key" id="ville" name="ville" value="" /></td>
            <td class="vertical-top"><a id="find" href="{{ url('...') }}" </a></td>
        </tr>
J'y est donc rajouté une balise form autour pour pouvoir accéder aux champs input et pouvoir lui donner les valeurs que je souhaiterai.
Dans mon fichier de test j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
if (!isset ($this->client)) {
            $this->client = static::createClient(array(
                    'environment' => 'test',
            ), array('HTTP_HOST' => 'toto.tst'),
                array(),
                array('HTTP_X-Requested-With' => 'XMLHttpRequest'));
        }
crawler = $this->client->request('GET', '...........');
$form = $crawler->filter('form[id="test"]')->form();
        $form->setValues(array(
                'nom' =>'lalla',
                'adresse' => 'Trocadero',
                'codepostal' => '75000',
                'ville' => 'Paris',
        ));
//le var_dump me renvoie bien le form rempli comme je voudrais
        var_dump($form->getValues());
//Je lui demande de simuler le clic d'un utilisateur sur le bouton
        $crawler = $this->client->click($crawler->filter('a[id="find"]')->link());
/*
   Mais je récupère le JSON qui correspond a la réponse du web service qui ne trouve aucun résultat car il ne contient pas les valeurs du formulaire.
   Alors que je voudrais rester sur la page courante et pouvoir tester le résultat et l'affichage de l'AJAX.
*/
La troisième chose est liée au javascript qui a priori ne peut pas être géré si ce que j'ai lu par-ci par-là ne m'a pas induit en erreur?

Et enfin, comment peut-on accéder à des sites extérieurs à notre application via le DomCrawler?

/*** Ajout informations ***/
Par exemple lui demander de faire une recherche sur google

Merci pour toute aide que vous pourriez me fournir.
Car je suis vraiment en train de devenir fou.