En Symfony, las pruebas funcionales se realizan mediante un navegador especial creado con la clase sfBrowser. Esta clase actúa como un navegador completamente adaptado a tu aplicación y conectado directamente a ella, de forma que no necesitas un servidor web. La clase sfBrowser
te da acceso a todos los objetos de Symfony antes y después de cada petición, permitiendo la introspección de los objetos para realizar las comprobaciones automáticamente.
La clase sfBrowser
incluye métodos que simulan la navegación que se realiza en cualquier navegador tradicional:
Método | Descripción |
---|---|
get() |
Obtiene una URL |
post() |
Envía datos a una URL |
call() |
Realiza una llamada a una URL (se utiliza para los métodos PUT y DELETE ) |
back() |
Vuelve a la página anterior almacenada en el historial |
forward() |
Va a la página siguiente almacenada en el historial |
reload() |
Recarga la página actual |
click() |
Pulsa sobre un enlace o un botón |
select() |
Selecciona un radiobutton o un checkbox |
deselect() |
Deselecciona un radiobutton o un checkbox |
restart() |
Reinicia el navegador |
A continuación se muestran algunos ejemplos de uso de los métodos de sfBrowser
:
$browser = new sfBrowser();
$browser->
get('/')->
click('Design')->
get('/category/programming?page=2')->
get('/category/programming', array('page' => 2))->
post('search', array('keywords' => 'php'))
;
La clase sfBrowser
también incluye métodos para configurar el comportamiento del navegador:
Método | Descripción |
---|---|
setHttpHeader() |
Establece el valor de una cabecera HTTP |
setAuth() |
Establece las credenciales de la autenticación básica |
setCookie() |
Establece una cookie |
removeCookie() |
Elimina una cookie |
clearCookies() |
Borra todas las cookies actuales |
followRedirect() |
Sigue una redirección |