Ver índice de contenidos del libro

9.2. La clase sfBrowser

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